この記事の目次
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エンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
最新の投稿
- 2024年3月26日キャリア・転職保安職(自衛官・警察・消防官など)に向いている人の性格・特徴ランキング【現役保安職(自衛官・警察・消防官など)36人が回答】
- 2024年3月26日キャリア・転職保安職(自衛官・警察・消防官など)に必要なスキルランキング&スキルアップの方法とは?【現役保安職(自衛官・警察・消防官など)36人が回答】
- 2024年3月26日キャリア・転職クリエイター職(ライター・デザイナー・編集)に向いている人の性格・特徴ランキング【現役クリエイター職(ライター・デザイナー・編集)64人が回答】
- 2024年3月26日キャリア・転職クリエイター職(ライター・デザイナー・編集)に必要なスキルランキング&スキルアップの方法とは?【現役クリエイター職(ライター・デザイナー・編集)64人が回答】