我对Cold聚变的DateDiff()有问题。我试图找出两个有时间的日期之间的区别,如下所示:
fromdate=06/11/2017 22:10
todate =16/11/2017 23:20应返回:
10天1小时10分钟
fromdate=06/11/2017 22:10
todate =16/11/2017 20:20应返回:
9天22小时10分钟
有什么帮助吗?
代码:
<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>发布于 2017-11-06 13:08:12
这里有一条路。
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');发布于 2017-11-06 16:18:10
除了先前的建议之外,DateDiff()也不会理解那些特定于的字符串,或者"06/11/2017“应该意味着11月6日。结果是:
158 days 1 hours 10 minutes 要使其按预期工作,必须首先将字符串转换为date对象。例如,在正确的区域设置中使用LSParseDateTime。
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");或可能:
fromDate = lsParseDateTime("06/11/2017 22:10", "English (UK)");
toDate = lsParseDateTime("16/11/2017 23:20", "English (UK)");https://stackoverflow.com/questions/47134438
复制相似问题