【问题标题】:How to create a datetime in apex given a datetime string?如何在给定日期时间字符串的顶点中创建日期时间?
【发布时间】:2017-01-30 20:32:04
【问题描述】:

使用 apex,我传递一个字符串,例如:

2017-02-05T01:44:00.000Z

到来自 javascript 的 apex 函数,但是,当尝试将其转换为日期时间时,它给了我无效的日期/时间错误。我可以用它来创建一个日期

date newdate = date.valueOf(dateString);

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

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

【问题讨论】:

    标签: date datetime salesforce apex


    【解决方案1】:

    试试这个。

    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
    

    【讨论】:

    • 谢谢!带有替换的 valueOfGmt 得到了正确格式化的日期时间
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    相关资源
    最近更新 更多