2012-08-29 110 views
1

如何在coldfusion中調整日期以在凌晨1AM獲得第二天?在ColdFusion中修改日期

日期取自數據庫,並存儲爲字符串。我正在考慮的方式是通過CreateDateTime並使用年,月,日+ 1填充時間和日期等。

我只是擔心它不會工作,當第二天下降在下個月

+0

糾正我,如果我錯了,但它聽起來就像你想在存儲在數據庫中的日期之後得到一天?如果是這樣,從數據庫中獲取值,檢查與'isDate()',然後按照Jason Dean的答案繼續。 –

回答

10

使用DateAdd(),您始終可以確定它會考慮當前日期的上下文。因此,如果是8月31日,並且你添加了一天,它會正確地將日期9月1日。如果您在12月31日也這樣做,它也將適當地切換一年。

<cfset nextDate = dateAdd("d", 1, now()) /> 
<cfset nextDateWithTime = createDateTime(year(nextDate), month(nextDate), day(nextDate), 1, 0, 0) /> 

<cfoutput>#nextDateWithTime#</cfoutput> 
3

假設日期是一些東西,CF識別爲一個日期,只包含日期,沒有時間,你可以這樣做:

<cfscript> 
function tomorrowOneAM(date) { 
    var resultValue = DateAdd("d",1,date); 
    resultValue = DateAdd("h",1,resultValue); 
    return resultValue; 
} 

</cfscript> 
+0

它使用的時間成分爲-好,但我想我可以使用的日期格式來獲得日期只有 – Daniel

+1

只是碰巧有周圍鋪設: 功能dayOnly(日期時間){ \t VAR年=年(日期時間); \t var month = month(datetime); \t var day = day(datetime); \t return CreateDateTime(year,month,day,0,0,0); } –