Data.table: 時間が 15:59 より大きい場合、IDateTime は間違った日付を報告します (tz="America/Los_Angeles")

作成日 2016年01月15日  ·  5コメント  ·  ソース: Rdatatable/data.table

時間部分が 15:59 より大きい場合、IDateTime() は間違った日付を生成します (tz="America/Los_Angeles")
私のタイム ゾーンの 15:59 以降の時刻を持つすべてのレコードの変換。

問題の詳細:
http://stackoverflow.com/questions/34786887/why-does-idatetime-convert-to-the-wrong-date

FiveMinute.csv ファイルのデータ:
時間、高値、安値、始値、終値、ボリューム
2016/01/13 11:00,4.8100,4.7875,4.8050,4.7900,543
2016/01/13 11:05,4.7950,4.7825,4.7900,4.7925,781
2016/01/13 11:10,4.7925,4.7750,4.7925,4.7775,2787
2016/01/13 11:15,4.7850,4.7775,4.7800,4.7800,659
2016/01/13 17:00,4.7800,4.7700,4.7800,4.7700,371
2016/01/13 17:05,4.7750,4.7700,4.7700,4.7700,158
2016/01/13 17:10,4.7675,4.7550,4.7675,4.7550,288

R スクリプト:
ライブラリ(データ.テーブル)
csv1 = "5分.csv"
dt = fread(csv1)
dput(dt)

as.POSIXct は日付を変更しません

as.POSIXct(dt$時間)
as.POSIXct(dt$Time, "%Y/%m/%d %H:%M", tz="")

これらの呼び出しは不正な出力を生成します

IDateTime(as.POSIXct(dt$Time))
IDateTime(as.POSIXct(dt$Time, tz=""))
IDateTime(as.POSIXct(dt$Time, tz="America/Los_Angeles"))
IDateTime(as.POSIXct(dt$Time, "%Y/%m/%d %H:%M", tz=""))
IDateTime(as.POSIXct(dt$Time, "%Y/%m/%d %H:%M", tz="America/Los_Angeles"))
dput(IDateTime(as.POSIXct(dt$Time, "%Y/%m/%d %H:%M", tz="America/Los_Angeles"))))
dput(IDateTime(as.POSIXct(dt[,Time], "%Y/%m/%d %H:%M", tz="America/Los_Angeles")))

システム: Win10x64 R 3.2.2 data.table 1.9.6

bug idatitime

全てのコメント5件

問題 #977 の 2 番目の投稿では、私が使用しているas.IDate.POSIXct特殊化を示しています。 POSIXct で指定されたタイム ゾーンを使用します。 tz引数を渡すと変換も行われますが、現在IDateTimeは追加の引数をas.IDate渡さないことに注意してください。 実際には、 IDateTimeも再定義して、 ...引数をas.IDateおよびas.ITimeに渡します。

IDateTimeの基準と目標が明確ではないので、これについての PR を試みていませんが、あなたの問題に対処すると思います。

e-mu-piさん、ありがとうございます。 あなたは、私が経験している IDateTime の問題の原因を特定しました。

@MichaelChiricoこれを

@arunsrinivasan確かに、タスクリストに入れます。

元の投稿は少し不明瞭です。

最小限の例:

as.POSIXct("2016/01/13 17:00", tz = "America/Los_Angeles")
# [1] "2016-01-13 17:00:00 PST"
IDateTime(as.POSIXct("2016/01/13 17:00", tz = "America/Los_Angeles"))
#         idate    itime
# 1: 2016-01-14 17:00:00
このページは役に立ちましたか?
0 / 5 - 0 評価