首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用小时/分钟/秒字符串初始化日期

问用小时/分钟/秒字符串初始化日期
EN

Stack Overflow用户
提问于 2014-02-16 11:41:27
回答 2查看 50关注 0票数 0

给定字符串

“00:00:25 123”

在格式上

小时:分钟:sec,毫秒

我如何创建一个日期/时间对象,它允许我然后加减秒?

我对年、月、日、时区等不感兴趣。我只想使用小时、分钟、秒和毫秒组件。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-16 11:45:10

我会这样做:

代码语言:javascript
复制
require 'time'

s = "00:00:25,123"
t = Time.strptime(s,"%H:%M:%S,%L") # => 2014-02-16 00:00:25 +0530

然后使用Time#+从t中添加/减去秒。

代码语言:javascript
复制
# add 20 seconds
t + 20 # => 2014-02-16 00:00:45 +0530
# subtract 20 seconds
t - 20 # => 2014-02-16 00:00:05 +0530

如果要获得毫秒,请使用Time#subsec,如下所示:

代码语言:javascript
复制
require 'time'

s = "00:00:25,123"
t = Time.strptime(s,"%H:%M:%S,%L")
t.subsec # => (123/1000)
票数 1
EN

Stack Overflow用户

发布于 2014-02-16 12:13:57

如果不需要日期部分,则不要使用Time或DateTime,只需将秒数作为浮动记录:

代码语言:javascript
复制
hours_str, minutes_str, seconds_str = s.split(':')
seconds  = seconds_str.sub(',', '.').to_f
seconds += hours_str.to_i * 60 * 60
seconds += minutes_str.to_i * 60
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21810621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档