以字符串格式创建当前日期,并在 Apex 中将日期解析为字符串



目标:

  1. 我需要首先创建一个表示当前日期的字符串。
  2. 之后,需要分析此字符串并用于生成 Date 类的实例。

初始尝试:

在我的测试类中,我通过以下方式为我的测试方法创建一个当前日期作为字符串输入:

String inputDate = date.today().format(); // 13:28:15:378 USER_DEBUG [24]|DEBUG|17.3.2017

但是,当我尝试创建如下所示的 Date 对象的实例时:

Date dateFromInput = date.valueOf(inputDate);

我收到以下错误:

13:28:15:398 FATAL_ERROR System.TypeException: Invalid date: 17.3.2017

以下代码

((DateTime)Dob).format('YYYY-MM-dd')

只是工作

Date.format()将以登录用户的当前本地日期格式返回字符串。

Date.valueOf需要以本地时区yyyy-MM-dd HH:mm:ss格式输入字符串。

下面应该有效:

String inputDate = date.today().format('**yyyy-MM-dd HH:mm:ss**');
Date dateFromInput = date.parse(inputDate);

在文档中,转义我的 parse 和 valueOf Date 方法之间存在差异:

parse(stringDate( 从字符串构造日期。字符串的格式取决于本地日期格式。

值(字符串日期( 返回一个包含指定字符串的值的日期。

我想要的是解析:

String inputDate = date.today().format(); /
Date dateFromInput = date.parse(inputDate);

你可以试试Moment.apex .这是链接

Datetime dt = new Moment('2018/01/12 10:00:00', 'yyyy/MM/dd HH:mm:ss').toDatetime();

相关内容

  • 没有找到相关文章