2017-03-21 7 views
1

ColdFusionでは、CreateDate()を使用して、時間のない現在の日付(技術的には00:00:00に設定された時間)を取得できます。これは、時間に関係なく、2つの日付を比較するのに便利です。しかし、これは非効率的と思われる。たとえば、今日の日付を取得するには、私が書くでしょう:Coldfusionで時間を持たない短い方法

CreateDate(Year(Now()),Month(Now()),Day(Now()) 

これを行うには、より効率的な方法はありますか?

+0

'たDateFormat(今()、 'YYYY-MM-DD')' - ColdFusionは非常に良いですあなたが日付と呼んでいる限り、それはフォーマットされているものであっても何かを理解することができます。誰かが私のテイクがベストプラクティスではない方法でチャイムインしてくれると確信していますが、あなたがより少ないステップを探しているなら、それはうまくいくでしょう。 – TRose

+1

興味深い提案@TRose。私はそれをテストし、ロジックは動作しますが、CreateDate()ではなくDateFormat()で4倍遅く実行されます。たぶんCreateDate()は結局のところ行く方法です。 –

+0

上記を実行するUDFをいつでも作成できます。次に、残りのコードでUDFを使用します。 – ale

答えて

4

日付のみ自体

dateCompare(date1, date2, 'd') 
+0

'Now()'は現在の時刻も返しますか? –

+0

はい、なぜ私は "時間を気にしなければ"と言ったのですか? –

+0

ああ、私の誤解。しかし、私は時間を気にしています。 'Now()'と現在の日付を比較することは同じでなければなりません。したがって、2017年3月3日の今日では、「CreateDate(2017,3,21)」は、時刻に関係なく、MissingFunction(Now())と等しくなければなりません。だから、私が求めているのは 'MissingFunction()'を書く最も効率的な方法です。 –

-2

<cfset myVar = now()>を比較するdの第三引数でdateCompareを使用することができますが、変数に現在の日付を取得する最も簡単な方法です。はい、時間もありますが、後で時間を無視するだけです。 EX:あなたの使用のために#dateFormat(myVar, 'short')#、以上....

DateDiff('datepart', myVar, someOtherDateVar)

さらに詳しい情報:https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/functions-c-d/DateDiff.html

関連する問題