YYYY/MM/DD hh:mm:ss 日付時刻の書式化のいろいろ (随時更新)
PEAR Date
require_once 'Date.php'; $d = new Date(); $d->format('%Y/%m/%d %H:%M:%S');
PHP DateTimeクラス
date()よりひと手間増える感じ。2038年問題に対応しているらしい。PHP 5.2.0 から利用可。
$dt = new DateTime(); $dt->format('Y/m/d H:i:s');
$dt = date_create(); date_format($dt, 'Y/m/d H:i:s');
シェル dateコマンド
date "+%Y/%m/%d %H:%M:%S"
%H:%M:%Sの代わりに%Tでもよい。
date "+%Y/%m/%d %T"
おまけ 変数に格納 バッククオートを使う
ymdhms=`date "+%Y/%m/%d %H:%M:%S"` ymd=`date "+%Y/%m/%d"`
findコマンドの-printf
find -printf '%TY/%Tm/%Td %TH:%TM:%TS\n'
\nで改行文字を出力している。ないと1行につながって表示される。
find -printf '%TY/%Tm/%Td %TT\n'
%TH:%TM:%TSは%TTとも書ける。
find -printf '%TY/%Tm/%Td %TT %p\n'
なおファイル名を表示するときは%p。
Smarty
{$smarty.now|date_format:"%Y/%m/%d %H:%M:%S"}
MySQL
DATE_FORMAT(CURRENT_TIMESTAMP,'%Y/%m/%d %H:%i:%s')
※Postgres、MySQL ともに CURRENT_TIMESTAMP の代わりに NOW() でもよい。
gawk
strftime("%Y/%m/%d %H:%M:%S");
JavaScript
<script type="text/javascript"> d = new Date(); YYYY = d.getFullYear(); MM = d.getMonth() + 1; DD = d.getDate(); hh = d.getHours(); mm = d.getMinutes(); ss = d.getSeconds(); if(MM < 10){ MM = "0" + MM; } if(DD < 10){ DD = "0" + DD; } if(hh < 10){ hh = "0" + hh; } if(mm < 10){ mm = "0" + mm; } if(ss < 10){ ss = "0" + ss; } document.write(YY + "/" + MM + "/" + DD + " " + hh + ":" + mm + ":" + ss); // getFullYear()は古いブラウザでは使えない // 年が4桁未満の時の0詰めは手抜き </script>
VBScript
YYYY = Year(Now) MM = Right("0" & Month(Now), 2) DD = Right("0" & Day(Now), 2) hh = Right("0" & Hour(Now), 2) mi = Right("0" & Minute(Now), 2) ss = Right("0" & Second(Now), 2) WScript.Echo YYYY & "/" & MM & "/" & DD & " " & hh & ":" & mi & ":" & ss ' 年が4桁未満の時の0詰めは手抜き
Delphi
FormatDateTime('yyyy/mm/dd hh:nn:ss',Now());
OpenOffice Calc
=TEXT(NOW();"YYYY/MM/DD HH:MM:SS")
K2Editor
印刷時のヘッダ・フッタ
%y/%m/%d %t
印刷ダイアログの「ヘルプ」ボタンで参照できる。
コマンドプロンプト
echo %date% %time:~0,8%
※「:~0,8」 %time% の値からミリ秒を除くため、先頭から8文字を切り出し
※ 1桁のときに0パディングしないらしい。0パディングが必要であればもっと複雑な書き方が必要
TeraTermマクロ
getdate YMD '%Y/%m/%d' gettime HMS '%H:%M:%S' strconcat DATE YMD strconcat DATE ' ' strconcat DATE HMS
上記例では変数 DATE に YYYY/MM/DD hh:mm:ss な文字列が入っている。
getdate 変数 書式
gettime 変数 書式
strconcat で変数の内容に文字列を追加して変数に格納
C#
DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); DateTime now = DateTime.Now; now.ToString("yyyy/MM/dd HH:mm:ss");
(2020.09.03追記)