将 POSIX 对象转换为字符串时保留时区信息
Keep time zone information when converting POSIX object to string
我正在尝试使用
将 POSIX 对象转换为 R 中的字符串
as.character(Sys.time())
其中 returns "2021-09-28 08:38:13"
但是,如果我 运行 Sys.time()
我得到 "2021-09-28 08:38:13 CEST"
。
如何将时区信息也转换为字符串?
使用 strftime(
.
strftime(Sys.time(), '%c')
# [1] "Tue 28 Sep 2021 08:43:06 CEST"
或
strftime(Sys.time(), '%F %X %Z')
# [1] "2021-09-28 08:45:42 CEST"
您可以使用 format
和 '%Z'
来表示时区。
format(Sys.time(), '%Y-%m-%d %T %Z')
使用选项 usetz = TRUE
as.character(Sys.time(), usetz = TRUE)
同样的事情可以用 format
和 usetz = TRUE
:
来完成
format(Sys.time(), usetz = TRUE)
输出:
2021-09-28 08:38:13 CEST
时间安排:
a <- proc.time()
for (i in 1:100000)
{
format(Sys.time(), usetz = TRUE)
}
print(proc.time() - a)
b <- proc.time()
for (i in 1:100000)
{
as.character(Sys.time(), usetz = TRUE)
}
print(proc.time() - b)
format
(我的)比 as.character
(Park 的回答)快。输出是:
user system elapsed
11.040 0.520 11.563
user system elapsed
11.930 0.290 12.229
第二个是朴的。
我正在尝试使用
将 POSIX 对象转换为 R 中的字符串as.character(Sys.time())
其中 returns "2021-09-28 08:38:13"
但是,如果我 运行 Sys.time()
我得到 "2021-09-28 08:38:13 CEST"
。
如何将时区信息也转换为字符串?
使用 strftime(
.
strftime(Sys.time(), '%c')
# [1] "Tue 28 Sep 2021 08:43:06 CEST"
或
strftime(Sys.time(), '%F %X %Z')
# [1] "2021-09-28 08:45:42 CEST"
您可以使用 format
和 '%Z'
来表示时区。
format(Sys.time(), '%Y-%m-%d %T %Z')
使用选项 usetz = TRUE
as.character(Sys.time(), usetz = TRUE)
同样的事情可以用 format
和 usetz = TRUE
:
format(Sys.time(), usetz = TRUE)
输出:
2021-09-28 08:38:13 CEST
时间安排:
a <- proc.time()
for (i in 1:100000)
{
format(Sys.time(), usetz = TRUE)
}
print(proc.time() - a)
b <- proc.time()
for (i in 1:100000)
{
as.character(Sys.time(), usetz = TRUE)
}
print(proc.time() - b)
format
(我的)比 as.character
(Park 的回答)快。输出是:
user system elapsed
11.040 0.520 11.563
user system elapsed
11.930 0.290 12.229
第二个是朴的。