« [R]ymd_hms関数で作成される日付時刻型ベクトルのタイムゾーンについて | トップページ | [R]read_csv関数で読み込まれる日付時刻型ベクトルについて »

2024年12月19日 (木)

[R]write_csv関数で出力される日付時刻型ベクトルについて

日付時刻型ベクトルを出力すると、UTCに変換されて出力されることに注意。なお、日付型ベクトルは当然この影響を受けない。

現在の環境の日時を表す文字列で出力したければ、文字列に変換する必要がある。

> library(tidyverse)
> options(readr.show_progress = FALSE, readr.show_col_types = FALSE)
> print(Sys.timezone())
[1] "Asia/Tokyo"
> dttm <- ymd_hms("2001-02-03 04:05:06")
> dat <- ymd("2010-11-12")
> print(dttm)
[1] "2001-02-03 04:05:06 UTC"
> print(dat)
[1] "2010-11-12"
> dtf <- data.frame(dttm, dat)
> write_csv(dtf, file = "temp.csv")
> cat(read_file("temp.csv"))
dttm,dat
2001-02-03T04:05:06Z,2010-11-12
> dttm <- ymd_hms("2001-02-03 04:05:06", tz = Sys.timezone())
> print(dttm)
[1] "2001-02-03 04:05:06 JST"
> dtf <- data.frame(dttm)
> write_csv(dtf, file = "temp.csv")
> cat(read_file("temp.csv"))
dttm
2001-02-02T19:05:06Z
> s <- format(dttm, "%Y-%m-%dT%H:%M:%S")
> print(s)
[1] "2001-02-03T04:05:06"
> dtf <- data.frame(dttm = s)
> write_csv(dtf, file = "temp.csv")
> cat(read_file("temp.csv"))
dttm
2001-02-03T04:05:06
> s = format(dttm, "%Y-%m-%dT%H:%M:%S%z")
> print(s)
[1] "2001-02-03T04:05:06+0900"
> dtf <- data.frame(dttm = s)
> write_csv(dtf, file = "temp.csv")
> cat(read_file("temp.csv"))
dttm
2001-02-03T04:05:06+0900

« [R]ymd_hms関数で作成される日付時刻型ベクトルのタイムゾーンについて | トップページ | [R]read_csv関数で読み込まれる日付時刻型ベクトルについて »

R(tidyverse)」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [R]ymd_hms関数で作成される日付時刻型ベクトルのタイムゾーンについて | トップページ | [R]read_csv関数で読み込まれる日付時刻型ベクトルについて »

無料ブログはココログ

■■

■■■