Perl/bash/zsh で今と昨日と一時間前を出すコピペ
2016-07-26-2
[Programming][Perl]
その場しのぎな作業のための日付計算コピペ。
今と昨日と一時間前を出す。
Perl と bash/zsh。
追記: 「どこでも動く」を気にしないのならば、"-v" か "-d" のどちらかで行けるはず。
今と昨日と一時間前を出す。
Perl と bash/zsh。
Perl - 標準モジュールonly
use Time::Local; use POSIX qw(strftime); # 今 my @lt = localtime; my $ymdh = strftime "%Y%m%d%H", @lt; my $ymd = strftime "%Y%m%d", @lt; # 1日前 my $ut = timegm(@lt); my @yd_lt = gmtime($ut - 86400); my $yd_ymdh = strftime "%Y%m%d%H", @yd_lt; my $yd_ymd = strftime "%Y%m%d", @yd_lt; # 1時間前 my @oha_lt = gmtime($ut - 3600); my $oha_ymdh = strftime "%Y%m%d%H", @oha_lt; print "$ymdh $ymd\n"; print "$yd_ymdh $yd_ymd\n"; print "$oha_ymdh\n";
bash/zsh
# 今 ymdh=`date +%Y%m%d%H` ymd=`date +%Y%m%d` # 1〜7日前 ymd1d=`TZ=JST+15 date +%Y%m%d` ymd2d=`TZ=JST+39 date +%Y%m%d` ymd3d=`TZ=JST+63 date +%Y%m%d` ymd4d=`TZ=JST+87 date +%Y%m%d` ymd5d=`TZ=JST+111 date +%Y%m%d` ymd6d=`TZ=JST+135 date +%Y%m%d` ymd7d=`TZ=JST+159 date +%Y%m%d` # 1〜3時間前 ymd1h=`TZ=JST-8 date +%Y%m%d%H` ymd2h=`TZ=JST-7 date +%Y%m%d%H` ymd3h=`TZ=JST-6 date +%Y%m%d%H` echo $ymdh $ymd echo $ymd1d $ymd2d $ymd3d $ymd4d $ymd5d $ymd6d $ymd7d echo $ymd1h $ymd2h $ymd3h
追記: 「どこでも動く」を気にしないのならば、"-v" か "-d" のどちらかで行けるはず。
date -v '+1d' +%Y%m%d date -v '-1d' +%Y%m%d (MacOS,FreeBSD,etc.)
date -d '1 days' +%Y%m%d date -d '-1 days' +%Y%m%d (Linux)
関連記事
この記事に言及しているこのブログ内の記事