0

我有一些通过他们的 GET 搜索获得的 Twitter 数据。日期具有以下 GMT 格式。

Thu, 19 Jul 2012 01:32:43 +0000  
Thu, 19 Jul 2012 01:32:43 +0000  
Thu, 19 Jul 2012 01:32:40 +0000  
Thu, 19 Jul 2012 01:32:39 +0000  
Thu, 19 Jul 2012 01:32:36 +0000  
Thu, 19 Jul 2012 01:32:32 +0000  
Thu, 19 Jul 2012 01:32:28 +0000  
Thu, 19 Jul 2012 01:32:27 +0000  
Thu, 19 Jul 2012 01:32:28 +0000  
Thu, 19 Jul 2012 01:32:27 +0000  
Thu, 19 Jul 2012 01:32:18 +0000

知道如何将它们转换为 UTC 格式吗?Unix和/或R解决方案将是可取的。

更新:通过 UTC,我的意思是 UTC 时间戳,以秒为单位。例如:1318394558。

4

2 回答 2

3

使用该date工具,可能类似于:

date -f file.txt "+%Y-%m-%d %H:%M:%S %Z"

结果:

2012-07-19 11:32:43 EST
2012-07-19 11:32:43 EST
2012-07-19 11:32:40 EST
2012-07-19 11:32:39 EST
2012-07-19 11:32:36 EST
2012-07-19 11:32:32 EST
2012-07-19 11:32:28 EST
2012-07-19 11:32:27 EST
2012-07-19 11:32:28 EST
2012-07-19 11:32:27 EST
2012-07-19 11:32:18 EST

或者,类似:

date -f file.txt "+%F %T"

给出:

2012-07-19 11:32:43
2012-07-19 11:32:43
2012-07-19 11:32:40
2012-07-19 11:32:39
2012-07-19 11:32:36
2012-07-19 11:32:32
2012-07-19 11:32:28
2012-07-19 11:32:27
2012-07-19 11:32:28
2012-07-19 11:32:27
2012-07-19 11:32:18

编辑:

date -f file.txt -u +%s

结果:

1342661563
1342661563
1342661560
1342661559
1342661556
1342661552
1342661548
1342661547
1342661548
1342661547
1342661538

高温高压

于 2012-07-19T03:28:54.803 回答
3

R,

dat <- c("Thu, 19 Jul 2012 01:32:43 +0000",
         "Thu, 19 Jul 2012 01:32:43 +0000",
         "Thu, 19 Jul 2012 01:32:40 +0000",
         "Thu, 19 Jul 2012 01:32:39 +0000")

as.POSIXct(dat, format="%a, %d %b %Y %H:%M:%S %z")
#[1] "2012-07-18 20:32:43 CDT" "2012-07-18 20:32:43 CDT" "2012-07-18 20:32:40 CDT" "2012-07-18 20:32:39 CDT"

?strptime

或者,如果你想要数字

as.numeric(as.POSIXct(dat, format="%a, %d %b %Y %H:%M:%S %z"))
[1] 1342661563 1342661563 1342661560 1342661559
于 2012-07-19T03:32:56.970 回答