Data.table: ์‹œ๊ฐ„์ด 15:59 (tz = "America / Los_Angeles")๋ณด๋‹ค ํฌ๋ฉด IDateTime์—์„œ ์ž˜๋ชป๋œ ๋‚ ์งœ๋ฅผ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2016๋…„ 01์›” 15์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Rdatatable/data.table

์‹œ๊ฐ„ ๋ถ€๋ถ„์ด 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๋Š” ๋‚ ์งœ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

bug idatitime

๋ชจ๋“  5 ๋Œ“๊ธ€

# 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
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰