【问题标题】:Convert MM dd yyyy to unix timestamp将 MM dd yyyy 转换为 unix 时间戳
【发布时间】:2022-08-03 17:01:31
【问题描述】:

大家好,我正在尝试将日期转换为 unix 时间戳,但是在将其转换为某些特定日期时出现错误

代码是:

string zoho_meeting_start_date_time = result.Value<JObject>()[\"Start_DateTime\"].Value<String>();
DateTimeOffset dateTimeOffSet = DateTimeOffset.Parse(zoho_meeting_start_date_time);
zoho_meeting_start_date_time_timestamp = dateTimeOffSet.ToUnixTimeMilliseconds().ToString();

例如,当我有日期:\“08/01/2022 17:00:00\”时,它可以完美地转换为 1641657600000。 当我得到日期 \"07/28/2022 16:00:00\" 时,我收到此错误:

String \'07/28/2022 16:00:00\' was not recognized as a valid DateTime.
System.FormatException: String \'07/28/2022 16:00:00\' was not recognized as a valid DateTime. 

感谢您的时间。

标签: c#


【解决方案1】:

这是因为 1641657600000 是 2022 年 1 月 8 日星期六,日期字符串被解释为 dd/MM/yyyy HH:mm:ss。现在,当您在 2022 年 7 月 28 日尝试时,28 是月份的无效值并引发错误。

您需要做的是使用DateTimeOffset.ParseExact 并明确指定格式MM/dd/yyyy HH:mm:ss,因为这不是默认值。

DateTimeOffset.ParseExact(zoho_meeting_start_date_time, "MM/dd/yyyy HH:mm:ss")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-16
    • 2018-06-16
    • 2013-03-24
    • 1970-01-01
    • 2014-06-22
    • 1970-01-01
    相关资源
    最近更新 更多