首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails获取两个日期之间的差异

Rails获取两个日期之间的差异
EN

Stack Overflow用户
提问于 2014-12-26 18:37:10
回答 4查看 22.3K关注 0票数 10

如何在days,hours,mins中获取时间差

我正在试着做

代码语言:javascript
运行
复制
datetime_A - datetime_B

datetime_A = Sat,04 Jan 2014 07:00:13 +0000

datetime_B = Fri,03 Jan 2014 01:09:46 +0000

它返回像(35809/28800),bdw这样的东西,这是什么意思?

我需要像1day,5h,23min一样

怎么才能做到呢?

EN

Stack Overflow用户

发布于 2014-12-26 19:16:38

你需要在你的rails应用程序中添加助手来实现这一点。Ruby没有为此提供任何直接的方法。下面是使用ruby 2.1.0的日期操作。

代码语言:javascript
运行
复制
2.1.0 :021 > a_date_time = DateTime.now
 => Fri, 26 Dec 2014 16:39:30 +0530 # First Date
2.1.0 :022 > b_date_time = DateTime.now-20
 => Sat, 06 Dec 2014 16:40:03 +0530 # Second Date
2.1.0 :023 > (a_date_time - b_date_time).to_i
 => 19 # Direct date difference
2.1.0 :024 > Seconds = ((a_date_time - b_date_time)*24*60*60).to_i
 => 1727966 # Seconds between two dates
2.1.0 :025 > sec = Seconds % 60
 => 26 # Second diffence to print
2.1.0 :026 > Minutes = Seconds / 60
 => 28799 # Minutes between two dates
2.1.0 :027 > min = Minutes % 60
 => 59 # Minute diffence to print
2.1.0 :028 > Hours = Minutes / 60
 => 479 # Hours between two dates
2.1.0 :029 > hour = Hours % 24
 => 23 #Hour diffence to print
2.1.0 :030 > Days = Hours / 24
 => 19 # Days between two dates
2.1.0 :032 > Days.to_s + 'Days, ' + hour.to_s + 'Hours, '+ min.to_s + 'Mins, ' + sec.to_s + 'Secs'
 => "19Days, 23Hours, 59Mins, 26Secs" # Desired output
票数 15
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27655960

复制
相关文章

相似问题

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