【问题标题】:Need to convert simpledateformat(EEE MMM d HH:mm:ss z yyyy) to DateTime in C#需要在 C# 中将 simpledateformat(EEE MMM d HH:mm:ss z yyyy) 转换为 DateTime
【发布时间】:2021-11-14 02:32:26
【问题描述】:

我正在接收 API 响应并执行一些逻辑操作。

我正在尝试将字符串转换为 DateTime,但无法在 C# 中进行转换。我尝试了多种方法,但我得到的字符串格式无效。

我需要在 C# 中将“EEE MMM d HH:mm:ss z yyyy”转换为等效的 DateTime 格式。

我有两个日期如下,需要计算两个日期的总天数

var dt1="2021 年 7 月 14 日星期三 07:59:30 BST"; var dt2="2021 年 7 月 16 日星期五 08:59:30 BST";

请给我任何建议。

【问题讨论】:

  • 欢迎光临 ????????对于您的下一个问题,请使用搜索功能。 SO上已经有很多这样的问题了。还提供您当前代码的小sn-p。此外,the official documentation 在解析方面非常详尽
  • 这样写时没有内置的方法来解析时区。您的日期是否总是“BST”,或者日期是否包含其他时区?
  • 如果您对该 API 提供的内容有任何发言权,如果必须是人类可读的,请询问 Offset 而不是 TimeZone,如果不是,请询问 Unix Timestamp。
  • 嗨 Matthew,我现在正在获取 BST 和 GMT。我将来会得到任何格式。如果共享一些自定义方法将其转换为等效的 DateTime 格式可能会有所帮助。

标签: c# date datetime simpledateformat


【解决方案1】:

这是你需要的:

using System;
using System.Globalization;
public class Program
{
    public static void Main()
    {
        String yourDate = "Wed Jul 14 07:59:30 BST 2021";
        DateTime dt = DateTime.ParseExact( yourDate,"ddd MMM dd HH:mm:ss 'BST' yyyy", CultureInfo.InvariantCulture);
        Console.WriteLine(dt.ToString());
    }
}

它会给你这个输出:7/14/2021 7:59:30 AM

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 2021-01-29
    • 2023-03-10
    • 1970-01-01
    相关资源
    最近更新 更多