首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从我的时间戳上移出一个小时

从我的时间戳上移出一个小时
EN

Stack Overflow用户
提问于 2014-06-02 17:35:52
回答 1查看 283关注 0票数 4

我尝试使用strftime函数从时间戳中生成可读的字符串。我的问题是,每次我尝试执行转换时,都会有一个小时被取消。

我在比利时,现在是夏天,所以我的linux设置为GMT+2

代码语言:javascript
复制
jt@jt-roxane:~$ date
lundi 2 juin 2014, 19:18:48 (UTC+0200)

jt@jt-roxane:~$ R

R version 2.14.1 (2011-12-22)

> Sys.time()
[1] "2014-06-02 19:19:46 CEST"

我的朋友试图转换时间戳1401729132时,它被正确地翻译成

代码语言:javascript
复制
as.POSIXct(1401729132, origin="1970-01-01")
"2014-06-02 19:12:12 CEST"

但当我试着做的时候,答案是

代码语言:javascript
复制
> as.POSIXct(1401729132, origin="1970-01-01")
[1] "2014-06-02 18:12:12 CEST"

我试着设定正确的时区,但似乎解决不了问题。

代码语言:javascript
复制
> strftime(as.POSIXct(1401729132, origin="1970-01-01"), '%H:%M:%S', tz="UTC-2")
[1] "18:12:12"

你知道它从哪里来吗?

谢谢你的帮助!

编辑:

我已经尝试在as.POSIXct()中设置正确的TZ --这一行给出了错误的答案:

代码语言:javascript
复制
> as.POSIXct(1401729132, origin="1970-01-01", tz="GMT")
[1] "2014-06-02 17:12:12 GMT"
EN

回答 1

Stack Overflow用户

发布于 2014-06-02 17:41:50

你的朋友在同一时区吗?运行相同的操作系统?

您应该在执行tz=时,而不是在执行strftime时设置时区参数(strftime)。创建日期时,它将使用本地当前时区。

代码语言:javascript
复制
as.POSIXct(1401729132, origin="1970-01-01", tz="GMT")
# "2014-06-02 17:12:12 GMT"

阅读?Sys.timezone帮助页面,了解这些数据如何以及为什么会根据操作系统特定的时区数据库而变化。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24000202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档