์๊ฐ ๋ถ๋ถ์ด 15:59 (tz = "America / Los_Angeles")๋ณด๋ค ํฌ๋ฉด IDateTime ()์ด ์๋ชป๋ ๋ ์ง๋ฅผ ์์ฑํฉ๋๋ค.
๋ด ์๊ฐ๋์ 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 ์คํฌ๋ฆฝํธ :
๋ผ์ด๋ธ๋ฌ๋ฆฌ (data.table)
csv1 = "FiveMinute.csv"
dt = fread (csv1)
dput (dt)
as.POSIXct (dt $ ์๊ฐ)
as.POSIXct (dt $ ์๊ฐ, "% 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 = "๋ฏธ๊ตญ / Los_Angeles"))
dput (IDateTime (as.POSIXct (dt $ Time, "% Y / % m / % d % H : % M", tz = "๋ฏธ๊ตญ / Los_Angeles")))
dput (IDateTime (as.POSIXct (dt [, ์๊ฐ], "% Y / % m / % d % H : % M", tz = "๋ฏธ๊ตญ / Los_Angeles")))
์์คํ : Win10x64 R 3.2.2 data.table 1.9.6
# 977 ๋ฌธ์ ์ ๋ํ ๋ ๋ฒ์งธ ๊ฒ์๋ฌผ์ ๋ด๊ฐ ์ฌ์ฉํ๋ as.IDate.POSIXct
์ ์ ๋ฌธํ๋ฅผ ์ ๊ณตํฉ๋๋ค. POSIXct์์ ์ง์ ํ ์๊ฐ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. tz
์ธ์๋ฅผ ์ ๋ฌํ๋ ๊ฒฝ์ฐ์๋ ๋ณํ์ด ์ํ๋์ง๋ง ํ์ฌ IDateTime
๋ ์ถ๊ฐ ์ธ์๋ฅผ as.IDate
์ ๋ฌํ์ง ์์ต๋๋ค. ์ค์ ๋ก IDateTime
๋ฅผ ์ฌ์ ์ํ์ฌ ...
์ธ์๋ฅผ as.IDate
๋ฐ as.ITime
ํฉ๋๋ค.
IDateTime
์ฃผ๋ณ์ ํ์ค๊ณผ ๋ชฉํ๊ฐ ๋ฌด์์ธ์ง ํ์คํ์ง ์์ผ๋ฏ๋ก PR์ ์๋ํ์ง๋ ์์์ง๋ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๊ฐ์ฌํฉ๋๋ค, e-mu-pi. ๋ด๊ฐ ๊ฒช๊ณ ์๋ IDateTime ๋ฌธ์ ์ ์์ธ์ ํ์ธํ์ต๋๋ค.
@MichaelChirico ๋น์ ์ด ์ด๊ฒ์ ๋ณผ ์ ์๋ค๊ณ ์๊ฐํฉ๋๊น? (๋ช ๊ฐ์ง ๋ฌธ์ ๋ฅผ ์์ ํ๊ฑฐ๋ IDate / ITime์ผ๋ก ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ..)
@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