首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >冷融日差(日、小时)

冷融日差(日、小时)
EN

Stack Overflow用户
提问于 2017-11-06 10:11:50
回答 2查看 4K关注 0票数 2

我对Cold聚变的DateDiff()有问题。我试图找出两个有时间的日期之间的区别,如下所示:

代码语言:javascript
复制
fromdate=06/11/2017 22:10
todate  =16/11/2017 23:20

应返回:

10天1小时10分钟

代码语言:javascript
复制
fromdate=06/11/2017 22:10
todate  =16/11/2017 20:20

应返回:

9天22小时10分钟

有什么帮助吗?

代码:

代码语言:javascript
复制
<cfset dtFrom = "11/06/2017 22:10" /> 
<cfset dtTo = "11/16/2017 23:20" />

<cfoutput>
#DateDiff( "d", dtFrom, dtTo)# Days, 
#DateDiff( "h", dtFrom, dtTo) % 24# Hours 
#DateDiff( "n", dtFrom, dtTo) % 24 % 60# Minutes 
</cfoutput>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-06 13:08:12

这里有一条路。

代码语言:javascript
复制
totalMinutes = datediff("n", fromDate, toDate);
days = int(totalMinutes /(24 * 60)) ;
minutesRemaining = totalMinutes - (days * 24 * 60);
hours = int(minutesRemaining / 60);
minutes = minutesRemaining mod 60;
writeoutput(days & ' days ' & hours & ' hours ' & minutes & ' minutes');
票数 2
EN

Stack Overflow用户

发布于 2017-11-06 16:18:10

除了先前的建议之外,DateDiff()也不会理解那些特定于字符串,或者"06/11/2017“应该意味着11月6日。结果是:

代码语言:javascript
复制
158 days 1 hours 10 minutes 

要使其按预期工作,必须首先将字符串转换为date对象。例如,在正确的区域设置中使用LSParseDateTime

代码语言:javascript
复制
fromDate = lsParseDateTime("06/11/2017 22:10", "English (UK)", "dd/MM/yyyy hh:mm");
toDate = lsParseDateTime("16/11/2017 23:20", "English (UK)", "dd/MM/yyyy hh:mm");

或可能:

代码语言:javascript
复制
fromDate = lsParseDateTime("06/11/2017 22:10", "English (UK)");
toDate = lsParseDateTime("16/11/2017 23:20", "English (UK)");
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47134438

复制
相关文章

相似问题

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