以字符串格式创建当前日期并在 Apex 中将日期解析为字符串
Create current date in String format and parse to date as string in Apex
目标:
- 我需要先创建一个表示当前日期的字符串。
- 之后需要解析此字符串并用于构建日期实例 class。
初次尝试:
在我的测试中 class 我通过以下方式为我的测试方法创建一个当前日期作为字符串输入:
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
解析(字符串日期)
从字符串构造日期。 String 的格式取决于本地日期格式。
valueOf(stringDate)
Returns 包含指定字符串值的日期。
我想要的是解析:
String inputDate = date.today().format(); /
Date dateFromInput = date.parse(inputDate);
Date.format()
将 return 字符串以登录用户的当前本地日期格式显示。
Date.valueOf
需要在本地时区以 yyyy-MM-dd HH:mm:ss
格式输入字符串。
下面应该有效:
String inputDate = date.today().format('**yyyy-MM-dd HH:mm:ss**');
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();
代码如下
((DateTime)Dob).format('YYYY-MM-dd')
正常工作
目标:
- 我需要先创建一个表示当前日期的字符串。
- 之后需要解析此字符串并用于构建日期实例 class。
初次尝试:
在我的测试中 class 我通过以下方式为我的测试方法创建一个当前日期作为字符串输入:
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
解析(字符串日期) 从字符串构造日期。 String 的格式取决于本地日期格式。
valueOf(stringDate) Returns 包含指定字符串值的日期。
我想要的是解析:
String inputDate = date.today().format(); /
Date dateFromInput = date.parse(inputDate);
Date.format()
将 return 字符串以登录用户的当前本地日期格式显示。
Date.valueOf
需要在本地时区以 yyyy-MM-dd HH:mm:ss
格式输入字符串。
下面应该有效:
String inputDate = date.today().format('**yyyy-MM-dd HH:mm:ss**');
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();
代码如下
((DateTime)Dob).format('YYYY-MM-dd')
正常工作