YYYY/MM/DD hh:mm:ss 日付時刻の書式化のいろいろ (随時更新)

PHP date 関数

date("Y/m/d H:i:s");

PHP date関数

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');

PHP DateTimeクラス

シェル dateコマンド

date "+%Y/%m/%d %H:%M:%S"

%H:%M:%Sの代わりに%Tでもよい。

date "+%Y/%m/%d %T"

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"}

PostgreSQL

to_char(current_timestamp,'YYYY/MM/DD HH24:MI:SS')

関数名は大文字でも小文字でもよい。

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")

Excel

=TEXT(NOW(),"YYYY/MM/DD HH:MM:SS")

関数の引数の区切り文字がCalcとExcelで異なる。Calcはセミコロン「;」 Excel はカンマ「,」。

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 で変数の内容に文字列を追加して変数に格納

ゼロから始めるTera Termマクロ