我有一个问题。如何将日期和时间的格式 20110711201023
转换为小时数。这是我用来进行图像分析的软件输出的,我不能改变它。定义开始日期和时间非常重要。
格式: 2011年07月11日20时10分23秒。
示例:
Starting Data and Time - 20110709201023,
First Data and Time - 20110711214020
Result = 49,5h.
我有1万条这种格式的数据,因此不想手动处理。如果有任何建议,我将非常感激。
最好先使用strptime
将其转换为真正的R时间对象:
time_obj = strptime("20110711201023", format = "%Y%m%d%H%M%S")
如果你同时对开始日期和结束日期进行这样操作,那么你只需要说:
end_time - start_time
要得到以秒为单位的差值,这很容易转换为小时数。要将整个时间字符串列表转换,只需执行以下操作:
time_vector = strptime(dat$time_string, format = "%Y%m%d%H%M%S")
其中dat
是包含数据的数据框,time_string
是包含时间字符串的列。请注意,strptime也适用于向量(它是矢量化的)。您还可以将新的时间向量作为dat的一部分:
dat$time = strptime(dat$time_string, format = "%Y%m%d%H%M%S")
$
):dat = within(dat, { time = strptime(dat$time_string, format = "%Y%m%d%H%M%S") })
strptime
有一个名为tz
的参数,例如,您可以使用strptime("20110711201023", format = "%Y%m%d%H%M%S",tz="GMT")
。 - Roland