Rubyでミリ秒まで出力する

Rubyのバージョンにもよるかと思うけど、%3Nとか、できないときにyyyy-MM-ddTHH:MM:ss.SSSZみたいなフォーマットで出力したい時には

Time.now.instance_eval { '%s.%03d%s' % [ strftime("%Y-%m-%dT%H\\:%M\\:%S"), (usec / 1000.0), strftime("%z")]}

という感じにするとよいみたい。usecとかをroundとかで丸めると、Javaと異なる結果になるので注意が必要。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です