Date.today()は、クラスごとに異なる日付を指定します
Aug 21 2020
これらは私が書いた2つのクラスです:
aura:コンポーネントコントローラークラス
public class ResourcesComponentClass {
@AuraEnabled
public static void getDate(){
Datetime dateObj = Date.today();
System.debug(dateObj.date());
}
}
RestResourceクラス
@RestResource(urlMapping='/AllHistory/*')
global class ExternalAllResourcesApi {
@HttpPut
global static String updateDateAndTime() {
Datetime dateObj = Date.today();
System.debug(dateObj.date());
}
}
1つ目はaura:component
コントローラークラスで、2つ目はRest Resource
クラスです。私はdateObj.date()
両方のクラスから電話をかけています。問題は、最初にdateObj.date()
戻っ2020-08-20
及び第二戻り2020-08-21
、第二のクラスは、最初のクラス分後に実行された場合でも。それで、なぜこれがこのように起こっているのですか?
両方のクラスで同じ日付が必要な場合はどうすればよいですか?ちなみに、現在の日付は2020-08-21
です。
回答
3 OleksandrBerehovskyi Aug 21 2020 at 15:43
これらの2つのコードは、2人の異なるユーザーによって実行されており、それらのユーザーのタイムゾーンは異なる設定であると想定できます。Date.today()メソッドのドキュメントによると:
現在のユーザーのタイムゾーンで現在の日付を返します。
GMTの今日の値を取得する場合は、Datetime
クラスを使用します
Datetime.now().dateGMT();