gpt4 book ai didi

c# - 在 C# 中将类似 java 的日期字符串转换为 DateTime

转载 作者:行者123 更新时间:2023-11-30 16:14:31 25 4
gpt4 key购买 nike

我有以下格式的日期:

Tue Mar 13 12:00:00 EST 2012

如何在 C#.net 中将它们转换为 DateTime?

最佳答案

您可以使用 TryParseExact :

class Program
{
static void Main(string[] args)
{
var dtString = "Tue Mar 13 12:00:00 EST 2012".ConvertTimeZone();
DateTime dt;
var success = DateTime.TryParseExact(
dtString,
"ddd MMM dd HH:mm:ss zzz yyyy",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out dt);

Console.WriteLine(success);
if (Debugger.IsAttached) { Console.ReadKey(); }
}
}

public static class Extensions
{
private static Dictionary<string, string> _timeZones =
new Dictionary<string, string> { { "EST", "-05:00" } };

public static string ConvertTimeZone(this string s)
{
var tz = s.Substring(20, 3);
return s.Replace(tz, _timeZones[tz]);
}
}

如果转换成功,success将是 truedt将具有日期和时间值。

好吧,让我们稍微谈谈这个。实际上,我不得不下潜并 promise 将时区实际转换为偏移量。这是非常准确的,但需要一些维护。您唯一需要维护的是 Dictionary<string, string> _timeZones .您需要添加您想要支持的所有时区。

关于c# - 在 C# 中将类似 java 的日期字符串转换为 DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20660573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com