3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

時間フィールドの計算

Last updated at Posted at 2022-03-06

Answersで回答する時に使う情報のまとめに戻る

日本時間への変換

TEXT(NOW() +9/24)

Date Time型

変換するには以下のフォーマットが必要です。

日付値の例
DATETIMEVALUE("2005-11-15 17:00:00") は、日時値として November 15, 2005 5:00 PM GMT を返します。

ただしGMTなので日本時間にする時は +9/24

X20221116date__c : 日付型のフィールド
X20221116pick__c : 選択リストのフィールド

IF( NOT(ISBLANK( X20221116date__c )) && NOT(ISBLANK(TEXT( X20221116pick__c ))) ,
DATETIMEVALUE( TEXT( X20221116date__c ) & " " & TEXT( X20221116pick__c) & ":00" ) +9/24
,NULL)

image.png

Time型

DateやDateTimeでは 2/24というように24時間で割った値を使って時間を計算できます。

Time型では単純に + 2 とすれば2時間追加されると思ってましたが違う?

何?

もしかしてと思って

2 * 60 * 60 

秒が7秒増えた。はぁ? ミリ秒か?

2 * 60 * 60 * 1000

正解です。 どうもミリ秒みたい。

IF( NOT(ISBLANK( Appointment_Time__c )),TIMEVALUE(Appointment_Time__c + ":00.000") + 2*60* 60 * 1000 , Null)

image.png

Converting TEXT field (managed package) into TIME format and adding 2 hours

TIMEVALUE("24:00:00.000")の結果がおかしい

TIMEVALUE("24:00:00.000") はブランクが返ってきます

TIMEVALUE("0:00:00.000") --> 12:00:00 AM

時間型項目の差異を秒数まで表示

数式 (テキスト)で2つの日付/時間型項目の差異を秒数まで表示したい場合

IF( 
  datetime_1 - datetime_2 > 0 , 
  TEXT( FLOOR( datetime_1 - datetime_2 ) ) & " 日 " 
  & TEXT( FLOOR( ( ( datetime_1 - datetime_2 ) - FLOOR( datetime_1 - datetime_2 ) ) * 24 ) ) & " 時間 " 
  & TEXT( FLOOR( ( ( datetime_1 - datetime_2 ) * 24 - FLOOR( ( datetime_1 - datetime_2 ) * 24 ) ) * 60 ) ) & " 分 " 
  & TEXT( FLOOR( ( ( datetime_1 - datetime_2 ) * 24 * 60 - FLOOR( ( datetime_1 - datetime_2 ) * 24 * 60 ) ) * 60 ) ) & " 秒の差" , 
  ""
)

分を60進数でなくて10進数で表示したい

単に60で割ればよかったですね。

Convert Time field to Number of Hours

秒で保存されているフィールドを HH:MM:SSに変換する

Convert seconds to HH:MM:SS with Formula Text Field - HELP!

IF(ISBLANK(Seconds__c),null,
LPAD(TEXT( FLOOR(Seconds__c /60 / 60)),2,"0") + ":" +
LPAD(TEXT(FLOOR( (Seconds__c)/60) - FLOOR(Seconds__c /60 / 60)*60),2,"0") + ":" + 
LPAD(TEXT( FLOOR(MOD((Seconds__c)/60,1)*60)),2,"0")
)

分のところは単純に FLOOR( (Seconds__c)/60) で処理すると 65分などになるので、
時間の結果を引き算する

フローではTime型は使えない?

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?