目标:
初步尝试:
在我的测试类中,我以下列方式为我测试的方法创建一个当前日期作为String输入:
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
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);
以下代码
((DateTime)Dob).format('YYYY-MM-dd')
只是工作
parse(stringDate)从String构造一个Date。 String的格式取决于本地日期格式。
valueOf(stringDate)返回包含指定String值的Date。
我想要的是解析:
String inputDate = date.today().format(); /
Date dateFromInput = date.parse(inputDate);
你可以尝试Moment.apex
。这是link
Datetime dt = new Moment('2018/01/12 10:00:00', 'yyyy/MM/dd HH:mm:ss').toDatetime();