R:将字符转换为时间戳

问题描述 投票:0回答:2

目前我们正在实施某种直接营销 我们在某一天从欧洲某个国家/地区发送短信(时间戳),然后收到当地国家/地区客户(如果他们对产品感兴趣)的回复

我有两个月的样本数据集,包括发送的短信和收到的回复(如果有的话)。最终目标是,我想计算发送时间和响应时间之间的时差(考虑时区和夏令时)

我收到的文件有字符格式的时间戳。我希望将它们转换为当地时区的日期,将它们转换为标准时区并计算小时差

我尝试了下面的方法来创建转换,但它返回 NA。 任何帮助将不胜感激

as.POSIXlt("12/02/2015 11:23", tz = "Europe/London")
strptime("12/02/2015 11:23", "%d/%m/%Y %h:%m")
as.Date("12/02/2015 11:23","%d/%m/%y %h:%m")
r datetime type-conversion
2个回答
5
投票

请注意,您没有说您使用的是 24 小时制还是 12 小时制,但考虑到您没有 AM/PM,我将假设是前者:

strptime("12/02/2015 11:23 AM", "%d/%m/%Y %I:%M %p", tz = "Europe/London")  #12-hour
strptime("12/02/2015 11:23", "%d/%m/%Y %H:%M", tz = "Europe/London")  # 24-hour

0
投票

$开始时间:chr“1/21/23 20:05”“1/10/23 15:37”“1/2/23 7:51”...

year_2023是一个数据集,它有一个名为started_at的字段作为字符,要将字符数据类型转换为时间戳类型,请按照以下步骤操作:

1.检查月、日、年顺序和时、分、秒模式。 2.如果值之间用 /(正斜杠)或 -(连字符)分隔,则使用 /

year_2023$日期 <- strptime(year_2023$started_at, "%m/%d/%y %H:%M")

这不会带回任何 NA

© www.soinside.com 2019 - 2024. All rights reserved.