Apex 中的字符串格式化

String Formatting in Apex

我必须将字符串 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, 0, 0);
    return dt.format('yyyy-MM-dd\'T\'HH:mm:ssXXX');
}
  1. Date.parse() 将从您的字符串创建日期。
  2. 有了那个日期,您可以使用 Datetime.newInstance() 创建日期时间,同时将您的区域设置的时间清零。
  3. 使用 Datetime.format() to generate the desired formatted string. (The penultimate formatting example 与您想要的非常接近。)