9

これは Ruby の質問です (1.9.1)

文字列に次の日付と時刻があります。

29 Sep 2013 12:25:00.367

最初に文字列から日付と時刻に変換し、次に 10 秒を追加して、上記と同じ文字列形式に変換します。

私はこのコードを書きました:

format = "%d %b %Y %H:%M:%S"
date_time = "29 Sep 2013 22:11:30.195"
parsed_time = DateTime.strptime(date_time, format)
puts " new date time is #{parsed_time}"

どの出力:

new date time is 2013-09-29T22:11:30+00:00

「195」は見当たりませんでした。私は試しformat = "%d %b %Y %H:%M:%S.%3N"てみましたが、これは次のようになります:

fileOpTest:34:in `strptime': invalid date (ArgumentError) from fileOpTest:34:in `<main>'
4

1 に答える 1

15

これは、 Time クラスを使用して非常に簡単に行うことができます。秒を追加することで、時間に追加できます。次に #strftime を使用します

t= Time.parse('29 Sep 2013 12:25:00.367')
=> 2013-09-29 12:25:00 -0400
t=t + 10
=> 2013-09-29 12:25:10 -0400
t.strftime("%d %b %Y %H:%M:%S.%3N")
=> "29 Sep 2013 12:25:10.367"
于 2013-02-15T22:35:19.930 に答える