function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
multitaskcatmultitaskcat 

日付/時間型 で時間を指定するには?

ある日付項目があります(date__c とします)。

 

現在の日時が、この日付の17:00を過ぎているかどうか

を判断する数式項目を作りたいと思っています。

 

 if( now() > 『date__c の17:00』 , "過ぎています" , "まだです" )

 

 というような数式を想定しているのですが、

 

  『date__c の17:00』

 

 を表記する方法が分かりません。。。 

 

ベーシックサポートで

データ型が日付/時間型では時間は設定出来ない」

と言われてしまったのですが、

テキスト型にすると不等号が使えないですし。。。

 

 

この要求を叶えるには、どういう方法をとったらいいのでしょうか?

アイディアのある方、アドバイスをお願いします!!

03-25-2010 11:43 AM
にmultitaskcatにより編集されたメッセージ
Best Answer chosen by Admin (Salesforce Developers) 
HikeyHikey

たしかに、Salesforceの数式で利用できる関数に任意のDatetime型を作成できるものはないようです。

Date型はDateやDateValueがあるのに。。。 :smileyindifferent:

 

日付時間型どうしの比較はできるようですが、任意のDatetime型が作成できないので以下のようにしたらどうでしょうか?

 

数式の作成方針 => 日付型は日付型で比較、時間は時間(数値)で比較し判断する。

 

こんな感じ:

IF(Date__c < TODAY(), "過ぎています" , IF(AND ( Date__c = TODAY(), 17 < VALUE( MID( TEXT( NOW() ) , 12, 2) ) + 9 ) ,"過ぎています" , "まだです"))

 

 

 

 

All Answers

HikeyHikey

たしかに、Salesforceの数式で利用できる関数に任意のDatetime型を作成できるものはないようです。

Date型はDateやDateValueがあるのに。。。 :smileyindifferent:

 

日付時間型どうしの比較はできるようですが、任意のDatetime型が作成できないので以下のようにしたらどうでしょうか?

 

数式の作成方針 => 日付型は日付型で比較、時間は時間(数値)で比較し判断する。

 

こんな感じ:

IF(Date__c < TODAY(), "過ぎています" , IF(AND ( Date__c = TODAY(), 17 < VALUE( MID( TEXT( NOW() ) , 12, 2) ) + 9 ) ,"過ぎています" , "まだです"))

 

 

 

 

This was selected as the best answer
multitaskcatmultitaskcat

Hikey さん

 

こちらの方法で無事に解決できました。

助かりました。ありがとうございました!!

 

 

ひとつ、こちらを読まれている方などへ。

 

17 < ” の部分ですが、”17 <= ”とする必要がありました。 

17:00~17:59までは”17”となりますので、 ” < ”だと1時間ずれてしまいます。

ということで、

 

IF(Date__c < TODAY(), "過ぎています" , IF(AND ( Date__c = TODAY(), 17 <= VALUE( MID( TEXT( NOW() ) , 12, 2) ) + 9 ) ,"過ぎています" , "まだです"))