2011-09-03 5 views
0

誰もが日付にタイムパンを追加する効率的な方法を考えることができますか?日付にタイムパンを追加しますか?

次のような何か:

<cfset foo = now() + createTimeSpan(15,12,30,30)> 

IIRC .NETベースのCFMLエンジンに私は単にdate.add(タイムスパン)を使用することができますが、私は今同等のJavaのショートカットを覚えていないことができます。

ありがとうございます。

答えて

3

あなたは実際にここで何を求めていますか?一方ではCFの質問としてタグ付けし、自分の質問に答えるCFMLを使います。あなたはJavaのショートカットについて質問し始めますか?

CFMLで行う方法を知りたい場合は、コードサンプルは、で、CFMLでどのように行うのですか。

Javaの日付にCFタイムスパン値(日数の数値表現のみ)を追加する方法を知りたければ、私はすべてのカレンダーメソッドを見つけることができるので、少し時間がかかりますtimespan全体ではなく、timespanのコンポーネント部分を追加します。

このコードは、あなたが後にしている可能性がすべての答えを示しています(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 ---> 

あなたの質問は、実際にその答えだったん何?

+0

もう一度静かになるように薬を試してみてください。 上記の例では、timespansの格納方法が原因でfloatが返されていましたが、parseDateTimeとは異なり、createOdbcDateTimeが結果を再度変換できることを忘れてしまいました。 あなたの返事を感謝します。たとえ答えがかなり無礼な様式で包まれたとしても。 –

+0

mz_01、浮動小数点数があり、質問の一部として日付オブジェクトが必要であることを指摘しておいたはずです。多くのことが日付の数値を受け入れ、それを処理できます(cfqueryparamなど)。私はまた、「あなたがしているのとまったく同じだ」と考えていました。私はアダムの答えを全く失礼だと解釈しなかった。 –

+0

また、parseDateTimeが[Railo](http://getrailo.org)で期待通りに機能することを指摘しておく価値があります(ここで_does_ convertは日付オブジェクトに浮動小数点を返します)。 ACFにこのような動作をさせるために投票したい人は、[cfbugs trackerに関する問題](http://cfbugs.adobe.com/cfbugreport/flexbugui/cfbugtracker/main.html#bugId=87087)を提起しました。 –

関連する問題