作者genki358 (Dark Joker)
看板R_Language
标题[问题] 时间函数
时间Mon Sep 28 23:33:32 2015
[软体熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
如果读进来的资料为chr"2012/1/1..."及chr"13:00:00..."共两栏,
其中将第一栏已用as.Date()转成日期格式,第二栏则用strptime转为时间格式,
问题一:
strptime似乎会将第二栏自动加上系统今天日期,但想要的是资料原始日期。
问题二:
如果想将2012/1/1~2015/8/30每天的13:00-18:0另新设为下午,18:00-23:00另新设为晚上
,要用什麽时间函数才能从strptime取出hh:mm:ss并且将下午晚上都设为factor?
有没有哪位大大可以帮忙解决这个问题?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.243.61.243
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1443454415.A.F8B.html
1F:→ andrew43: 读入後,用paste()把二栏字串接起来,再丢给 strptime() 09/29 06:18
2F:→ cywhale: format(), you can get hour or minute by assing %H %M 09/29 08:23
3F:→ cywhale: s1=strptime("2015-09-28 18:30:25","%Y-%m-%d %H:%M:%S" 09/29 08:26
4F:→ cywhale: format(s1,"%H:%M"), then you get "18:30" 09/29 08:28
5F:→ celestialgod: 问题二直接 做一个 strptime("%Y-%m-%d 18:00:00") 09/29 13:07
6F:→ celestialgod: 跟他比大小就好 09/29 13:07
7F:→ genki358: 好的,感谢各位。我来试试看 09/29 13:31
8F:→ genki358: 这样是否每日都要做一个strptime比较,有无进阶方式呢? 09/30 00:12
9F:→ andrew43: 没有「每日都要做」喔, 是先产生日期不同时间相同的向量 09/30 00:28
10F:→ andrew43: 所以创造出的日期时间有不同日期但时间都是1800 09/30 00:29
11F:→ andrew43: 或着是把 18:00:00 想办法变成 180000,拿来比数字大小 09/30 00:33
12F:→ celestialgod: 直接hour(T)*60+minute(T) > 18*60就好 09/30 01:12
13F:→ celestialgod: T是你strptime的物件 09/30 01:12
14F:→ genki358: 谢谢各位热心提供,目前我是先转换成数字183000再做比较 09/30 12:48
15F:→ genki358: 其它方式我也会再试试,谢谢各位 09/30 12:49