问题描述
我必须将字符串 day='11/22/1999' 格式化为 '2020-11-26T00:00:00-05:00' 这个字符串格式,默认时间值在顶点中为 0。请让我知道是否有人为此工作过。
解决方法
这将在运行用户的时区输出。
System.debug(formatDate('11/22/1999')); //1999-11-22T00:00:00-05:00
String formatDate(String dateString) {
Date d = Date.parse(dateString);
Datetime dt = Datetime.newInstance(d.year(),d.month(),d.day(),0);
return dt.format('yyyy-MM-dd\'T\'HH:mm:ssXXX');
}
- Date.parse() 将根据您的字符串创建一个日期。
- 根据该日期,您可以使用 Datetime.newInstance() 创建日期时间,同时还可以将您所在地区的时间清零。
- 使用 Datetime.format() 生成所需的格式化字符串。 (倒数第二个 formatting example 与您想要的非常接近。)