欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

salesforce中时间问题

程序员文章站 2022-05-12 16:34:21
...

salesforce中时间问题


数据库中存的都是0区时间,通过soql查询得到的格式为2020-09-12T06:30:04.000+0000, 系统标准页面显示的时间为当前时区时间,后台会自动转换。
格式化时间:

Datetime dt = (Datetime)sObject.get(datetime_field);
String formatDate =dt.format(); // format方法会自动转成当前用户的时区

将字符串类型时间格式化:

String str = '2020-09-10 00:00:00';
// Datetime dt = Datetime.valueOf(str); // 默认接收的字符串为当前时区时间
Datetime dt = Datetime.valueOfGmt(str); // 接收的字符串为0区时间
// String dataStr =  dt.format('yyyy-MM-dd HH:mm:ss', tzNmae);
String dateStr = dt.format(); // 不传时区参数,默认转成当前时区
System.debug(LoggingLevel.DEBUG, '*** dataStr: ' + dataStr);

获取当前时区:

System.TimeZone tz = UserInfo.getTimeZone();
String tzNmae = tz.getDisplayName();