タイムスパンを日付に追加する効率的な方法を考えられる人はいますか?
次のようなもの:
<cfset foo = now() + createTimeSpan(15,12,30,30)>
.NET ベースの CFML エンジンでの IIRC 単純にdate.add(timespan)を使用できましたが、現在、同等の Java ショートカットを思い出せません。
前もって感謝します。
タイムスパンを日付に追加する効率的な方法を考えられる人はいますか?
次のようなもの:
<cfset foo = now() + createTimeSpan(15,12,30,30)>
.NET ベースの CFML エンジンでの IIRC 単純にdate.add(timespan)を使用できましたが、現在、同等の Java ショートカットを思い出せません。
前もって感謝します。
ここで実際に何を尋ねているのですか?一方では、CF の質問としてタグ付けし、独自の質問に答える CFML を使用します。次に、Java ショートカットについて質問し始めますか?
CFML での実行方法を知りたい場合は、コード サンプルがCFML での実行方法です。
CF タイムスパン値 (日数の単なる数値表現) を Java 日付に追加する方法を知りたい場合は、少しトリッキーに思えます。私が見つけることができるすべての Calendar メソッドがコンポーネント パーツを追加するためです。タイムスパン全体ではなく、タイムスパンの。
このコードは、おそらくあなたが求めているすべての答えを示しています(Javaの日付/カレンダーで1回のヒットでそれを行う方法を除く):
<cfset dTs = now()><!--- grab now --->
<cfset fTimespan = createTimeSpan(15,12,30,30)><!--- make a timespan --->
<cfset fLater = dTs + fTimespan><!--- add the timespan to now yields a float --->
<cfset sLater = dateFormat(fLater, "yyy-mm-dd") & " " & timeformat(fLater, "HH:MM:SS")><!--- but you can treat a float as a date/time --->
<cfset dLater = createOdbcDateTime(fLater)><!--- or convert it back to a date object --->
<cfset jCal = createObject("java", "java.util.GregorianCalendar").init()><!--- java.util.Date is basically deprecated in favour of calendars --->
<cfset jCal.add(jCal.DAY_OF_MONTH, 15)><!--- one needs to set each part of the timespan separately --->
<cfset jCal.add(jCal.HOUR_OF_DAY, 12)>
<cfset jCal.add(jCal.MINUTE, 30)>
<cfset jCal.add(jCal.SECOND, 30)>
<cfset sJCal = jCal.getTime()><!--- this gets a string that CF can use as a date back out of the calendar --->
<cfset bIsDate = isDate(sJCal)><!--- demonstrate that last statement to be true --->
<cfdump var="#variables#"><!--- and all the results --->
あなたの質問が実際に何であれ、それは答えていますか?