Coldfusion 日期差异(天数和小时数)
Coldfusion date difference in days and hours
我在使用 Coldfusion 的 DateDiff() 时遇到问题。我正在尝试获取两个日期与时间之间的差异,例如以下示例:
fromdate=06/11/2017 22:10
todate =16/11/2017 23:20
应该return:
10 days, 1 hour and 10 minutes
fromdate=06/11/2017 22:10
todate =16/11/2017 20:20
应该return:
9 days, 22 hours, 10 minutes
有什么帮助吗?
代码:
<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>
这是一种方法。
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');
除了 之外,DateDiff()
不会理解那些 特定的 字符串或者“06/11/2017”应该表示十一月6. 结果将是:
158 days 1 hours 10 minutes
要使其按预期工作,您必须先将字符串转换为日期对象。例如,将 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)");
我在使用 Coldfusion 的 DateDiff() 时遇到问题。我正在尝试获取两个日期与时间之间的差异,例如以下示例:
fromdate=06/11/2017 22:10
todate =16/11/2017 23:20
应该return:
10 days, 1 hour and 10 minutes
fromdate=06/11/2017 22:10
todate =16/11/2017 20:20
应该return:
9 days, 22 hours, 10 minutes
有什么帮助吗?
代码:
<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>
这是一种方法。
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');
除了 DateDiff()
不会理解那些 特定的 字符串或者“06/11/2017”应该表示十一月6. 结果将是:
158 days 1 hours 10 minutes
要使其按预期工作,您必须先将字符串转换为日期对象。例如,将 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)");