如何在给定日期时间字符串的顶点中创建日期时间?

How to create a datetime in apex given a datetime string?

有了顶点,我传递了一个字符串,如:

2017-02-05T01:44:00.000Z

从 javascript 到顶点函数,但是,当试图将其转换为日期时间时,它给我无效的 date/time 错误。我可以用它创建一个日期,比如

date newdate = date.valueOf(dateString);

但是如果我这样做 datetime newdate = datetime.valueOf(dateString) 我会得到错误。我不明白为什么它认为字符串格式不正确以提供无效 date/time。当我只创建日期而不是日期时间时,我丢失了时间并将其设置为 00:00:00.

感谢任何对如何在 apex 中创建日期时间有所了解的人!我一直在尝试从我所看到的中找到顶点格式。我不明白为什么它认为这是无效的。

试试这个。

String inpputString = '2017-02-05T01:44:00.000Z';
DateTime resultDateTime = DateTime.ValueofGmt(inpputString.replace('T', ' ')); 

System.Debug('resultDateTime>> '+resultDateTime);

输出:

10:10:41:011 USER_DEBUG [4]|DEBUG|resultDateTime>> 2017-02-05 01:44:00