2022/09/1

SalesforceにおけるDatetimeデータ型を解説

 
  

SalesforceにおけるDatetime型とは?

Salesforceでは日付関連情報を取り扱えるデータ型としてDatetimeデータ型が用意されています。 Datetimeデータ型には特定の日時を表す日付情報と時刻情報が格納されていて、Datetimeメソッドを用いることで日付情報、時刻情報、年、月、日、時、分、秒、ミリ秒の各値を得たり、n日後やn日前、n時間後やn時間前といった加減算が可能になります。 また、数値を直接加減算することでも、n日後やn日前、n時間後やn時間前といった加減算が可能です。 SalesforceにはDatetime型と同様に日付関連情報を取り扱えるデータ型としてDateデータ型も用意されていますが、Dataデータ型には日付情報のみが格納されています。Datetimeデータ型と同様に日付情報を扱えますが、時刻情報が格納されていない点が異なるので注意しましょう。

Datetimeメソッドについて

Datetimeメソッドを使用することで、容易にDatetimeデータ型を操作することが可能です。 SalesforceのDatetimeデータ型にはDatetimeメソッドが用意されているため、簡単な構文で日付関連情報全体やその一部の値を得たり、加減算や変換といった操作が可能です。 それでは代表的なDatetimeメソッドを見ていきましょう。

加減算に使えるメソッド

日付や時刻の加減算のために、以下のようなメソッドが用意されています。 各メソッドの構文と機能は以下の通りです。
addYears(NumberOfYears)
引数に指定した年数を加算した値を返します。
addMonths(NumberOfMonths)
引数に指定した月数を加算した値を返します。
addDays(NumberOfDays)
引数に指定した日数を加算した値を返します。
addHours(NumberOfHours)
引数に指定した時間数を加算した値を返します。
addMinutes(NumberOfMinutes)
引数に指定した分数を加算した値を返します。
addSeconds(NumberOfSeconds)
引数に指定した秒数を加算した値を返します。 各メソッド共に、引数には整数を指定します。また、引数に負の値を指定した場合は減算されます。 これらのメソッドは以下のように使用します。addYearsメソッドを例に使用方法を見てみましょう。
Datetime srcDatetimeData = Datetime.newInstance(2021, 3, 1);
Datetime addedDatetimeData = srcDatetimeData.addYears(4);
addedDatetimeDataには「2021年3月1日0時0分0秒」から4年後の「2025年3月1日0時0分0秒」が代入されます。

日付関連情報を得るためのメソッド

日付関連情報を得るために、以下のようなメソッドが用意されています。 各メソッドの構文と機能は以下の通りです。
date()
日付データをDateデータ型で返します。
time()
時刻データをTimeデータ型で返します。
now()
現在の日時をDatetimeデータ型で返します。
year()
「年」を整数で返します。
month()
「月」を整数で返します。
day()
「日」を整数で返します。
hour()
「時」を整数で返します。
minute()
「分」を整数で返します。
second()
「秒」を整数で返します。
millisecond()
「ミリ秒」を整数で返します。 これらのメソッドは以下のように使用します。nowメソッドとmonthメソッドを例に使用方法を見てみましょう。
Datetime srcDatetimeData = Datetime.now();
Integer monthData = srcDatetimeData.month();
monthDataには現在の「月」が代入されます。

その他のメソッド

他にも便利なメソッドがあります。 各メソッドの構文と機能は以下の通りです。
getTime()
GMTで表される1970年1月1日0時0分0秒からの経過時間をミリ秒で返します。
isSameDay(compDatetime)
引数に指定した日付関連情報と等しい場合にtrueを返します。 これらのメソッドは以下のように使用します。
Datetime srcDatetimeData = Datetime.now();
Integer msData = srcDatetimeData.getTime();
msDataには1970年1月1日0時0分0秒から現在までに経過したミリ秒が代入されます。
Integer dateFlag = 0;
Datetime srcDatetimeData = Datetime.now();
Datetime compDatetime = Datetime.newInstance(2021, 3, 31);
if(srcDatetimeData.isSameDay(compDatetime)) { dateFlag = 1; }
現在の日時が2021年3月31日0時0分0秒と等しい場合は、dateFlagに1が代入されます。

Datetime型を活用しよう!

今回は、SalesforceにおけるDatetimeデータ型について解説しました。 Datetimeデータ型は、タイムスタンプなどの日付や時間を扱う上で便利なデータ型であることが分かります。Salesforceで期限や履歴を取り扱う上で必須のデータ型ですので、是非活用できるようにしておきましょう。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】