我不知道我做错了什么。我遵循了很多例子,我无法解决这个问题。我有以下时间的字符串:将字符串解析为DateTime对象并在Ruby中添加分钟
text_t = 1:00 PM ET
我尝试将其转换为DateTime对象,所以我可以轻松地添加30分钟,值用下面的代码:
text_next = DateTime.strptime(text_t, '%I:%M %p %Z')
puts text_next
text_next = text_next + 1800
puts text_next
但我的输出如下所示:
1:00 PM ET
2013-07-02T13:00:00+00:00
2018-06-06T13:00:00+00:00
我需要30分钟递增的时间,然后再转换回来,以它来在同一格式的字符串我合作该函数将字符串操作为30分钟,但我觉得这是很多工作,并且必须有一些能够提供此功能的东西。
我仍然必须弄清楚如何格式化它,但是这是需要正确增加时间的,谢谢 – meggex
您可以使用字符串插值来做到这一点。 text_next.day,text_next.hour,text_next.minute,text_next.second等,会给你你需要的。 –
另一个问题已经上升。我无法将小时格式化为12小时值,它始终是24小时。我也有正确的格式。 %I不是%H,它们都返回24小时值。奇怪,我可能会把它作为另一个问题。 – meggex