R 时间戳转化

转 http://stackoverflow.com/questions/1962278/dealing-with-timestamps-in-r

You want the (standard) POSIXt type from base R that can be had in ‘compact form‘ as a POSIXct (which is essentially a double representing fractional seconds since the epoch) or as long form in POSIXlt (which contains sub-elements). The cool thing is that arithmetic etc are defined on this -- see help(DateTimeClasses)

Quick example:

R> now <- Sys.time()
R> now
[1] "2009-12-25 18:39:11 CST"
R> as.numeric(now)
[1] 1.262e+09
R> now + 10  # adds 10 seconds
[1] "2009-12-25 18:39:21 CST"
R> as.POSIXlt(now)
[1] "2009-12-25 18:39:11 CST"
R> str(as.POSIXlt(now))
 POSIXlt[1:9], format: "2009-12-25 18:39:11"
R> unclass(as.POSIXlt(now))
$sec
[1] 11.79

$min
[1] 39

$hour
[1] 18

$mday
[1] 25

$mon
[1] 11

$year
[1] 109

$wday
[1] 5

$yday
[1] 358

$isdst
[1] 0

attr(,"tzone")
[1] "America/Chicago" "CST"             "CDT"            

As for reading them in, see help(strptime)

As for difference, easy too:

R> Jan1 <- strptime("2009-01-01 00:00:00", "%Y-%m-%d %H:%M:%S")
R> difftime(now, Jan1, unit="week")
Time difference of 51.25 weeks

Lastly, the zoo package is an extremely versatile and well-documented container for matrix with associated date/time indices.

时间: 2024-10-12 16:37:42

R 时间戳转化的相关文章

Excel技巧|如何在Excel中快速的批量将unix时间戳转化为北京时间

本文标签:  Excel技巧 unix时间戳转化北京时间 Excel时间戳转化北京时间 互联网杂谈 批量将将unix时间戳转化为北京时间 方法/步骤 单击要获得北京时间的那一列,右键,选择[设置单元格格式],在弹出的窗口中,左侧选择 [日期],右侧选择你想要的时间格式,点击确定. 选中其中一个单元格,输入公式 =(A2+8*3600)/86400+70*365+19 其中,A2是要转化的时间戳的单元格. 输入完公式,按下[回车键]. 该时间戳即转化为北京时间. 选中上面转化好的北京时间单元格,鼠

时间戳转化为今天、昨天、明天(字符串格式)

时间戳,相信大家一定都不陌生,服务器经常会传回来时间戳,需要我们对时间戳进行处理.各种麻烦不断,比如转为为明天,今天,昨天,或者跟现在时间相对比,过了多长时间,转化为标准格式啊...各种情况,写了一个工具类,来分享下... package com.woyou.utils; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateUtils { /**

C++时间戳转化(涉及GMT CST时区转化)

问题由来 时间戳转换(时间戳:自 1970 年1月1日(00:00:00 )至当前时间的总秒数.) #include <stdio.h> #include <time.h> int main(int argc, const char * argv[]) { time_t t; struct tm *p; t=1408413451; p=gmtime(&t); char s[80]; strftime(s, 80, "%Y-%m-%d %H:%M:%S",

jQuery将时间转化为时间戳或将时间戳转化为时间

下面的这段代码,是可以将时间戳转为时间,或者将时间戳转为时间: <script type="text/javascript"> $.extend({ myTime:{ CurTime: function(){ return Date.parse(new Date())/1000; }, DateToUnix: function(string) { var f = string.split(' ', 2); var d = (f[0] ? f[0] : '').split('

时间戳转化

1.时间戳转化 1 function getDate(uData){ 2 var myDate = new Date(uData*1000); 3 var year = myDate.getFullYear(); 4 var month = myDate.getMonth() + 1; 5 var day = myDate.getDate(); 6 var hours = myDate.getHours(); 7 var minutes = myDate.getMinutes(); 8 var

囧啊!!时间戳转化为时间出错php

最近写了一个api,测试也没发现啥问题.可是上线之后发现有时api的返回结果不正确.为什么呢? 调我接口的同学给了两个调用示例,理论上两个的结果应该一致,实际结果却不一致. api调用带了一个时间戳参数date,通过把date转化为时间格式,我发现date化为时间之后跟原来的时间不一样,所以导致错误. 我就跟掉接口的同学说,你参数不对,所以发生了这种情况. 但是那同学也坚持自己没错,时区啥的咱俩也一致.我是百思不得骑姐. 主要是因为对自己太自信了,根本没意识到时间戳转化为时间的时候发生错误. 我

php时间戳转化成时间相差8小时问题

php时间戳 转化成时间的时候 $mytime=time(); echo $mytime.'<br />'; echo date('Y-m-d H:i:s',$mytime); 会产生8个小时的时间差: 解决办法: 1.最简单的方法就是不要用php5.1以上的版本(行不通) 2.修改php.ini.打开php.ini查找date.timezone 去掉前面的分号= 后面加Asia/Shanghai,重启apache服务器即可--缺点就是如果程序 放到别人的服务器上,不能修改php.ini,那就

java时间戳转化

String aa="1422865572"; long nowTime=System.currentTimeMillis();  //当前时间戳 //以下为时间戳转化 long retime =Integer.valueOf(aa).intValue(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String date = sdf.format(new Date(ret

杂记b---jquery.siblings(),HTML页时间戳转化为正常的时间显示,ng-click事件的写法

jQuery siblings() 方法返回被选元素的所有同胞元素,并且可以使用可选参数来过滤对同胞元素的搜索. 实例演示:点击某个li标签后将其设置为rgb(248,198,173)橙色样式,而其所有同胞元素去除#FFFFFF(白色样式) <div id="each"> <span>标签:</span> <ul class="right-topfloat"> <li style="background