3
A
回答
3
您可以使用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
將true
和dt
將有日期和時間值。
好吧,讓我們來談談這個問題。實際上,我必須進行潛水並承諾將時區實際轉換爲偏移量。這非常準確,但需要一些維護。唯一需要維護的是Dictionary<string, string> _timeZones
。您需要添加您想要支持的所有時區。
0
有DateTime.ParseExact
。例如爲 「2009-05-08 14:40:52531」:
DateTime date = DateTime.ParseExact(
"2009-05-08 14:40:52,531",
"yyyy-MM-dd HH:mm:ss,fff",
System.Globalization.CultureInfo.InvariantCulture);
而對於你的情況格式應該是這樣的: 「DDD MMM DD HH:MM:SS ZZZ YYYY」:
DateTime date = DateTime.ParseExact(
"Tue Mar 13 12:00:00 EST 2012",
"ddd MMM dd HH:mm:ss zzz yyyy",
System.Globalization.CultureInfo.InvariantCulture);
問題在於獲取時區。 K或zzz格式化選項返回數字時差,例如+02:00但您需要使用字母。可能的解決方案是創建輔助方法,將時間偏移轉換爲字母表示。不幸的是,我沒有看到任何其他合理的選擇讓這件事情起作用。
相關問題
- 1. C#字符串日期時間在c#
- 2. 將字符串日期時間轉換爲Ruby日期時間
- 3. 將日期時間字符串轉換爲日期時間
- 4. C#將字符串轉換爲無日期時間的日期時間
- 5. 字符串日期時間
- 6. Java字符串日期沒有時間
- 7. 將日期字符串轉換爲SSIS中的日期時間
- 8. 將日期時間轉換爲代表日期的字符串
- 9. 字符串日期時間C#
- 10. C#字符串日期時間轉換
- 11. C#從字符串\\日期(1433969291760)解析日期時間\/
- 12. 將UTC日期轉換爲日期時間字符串Javascript
- 13. 將日期字符串轉換爲日期時間對象
- 14. 將字符串轉換波斯日期公曆日期時間
- 15. 將日期字符串轉換爲日期時間
- 16. 如何將一個MySQL的日期時間字符串轉換爲C#的日期時間字符串?
- 17. javascript日期/時間字符串轉換爲SQL日期時間
- 18. 轉換日期/時間字符串值到.NET日期時間
- 19. 如何結合日期時間日期是日期時間和時間是字符串在c#
- 20. 將字符串轉換爲日期時間格式和日期只在C#
- 21. 在C中將字符串日期轉換爲系統日期時間#
- 22. 如何將日期和時間字符串轉換爲日期字符串?
- 23. 日期到字符串,字符串日期錯誤的Java
- 24. SQL日期時間到C#字符串,並返回到SQL日期時間
- 25. 將日期字符串轉換爲帶日期的ISO日期
- 26. 如何將日期時間字符串轉換爲自定義日期時間
- 27. 將日期時間轉換爲字符串並返回日期時間
- 28. Django過濾日期時間後,將字符串轉換爲日期時間
- 29. 轉換Python字符串日期MySQL的日期時間
- 30. 的ColdFusion - 解析字符串日期到日期時間格式
我試過'dateValue =「Tue Mar 13 12:00:00 EST 2012」;'而且它不起作用。 – enb081
@ enb081,月份的那天是「13」嗎? –
是的,它實際上是一個月中的某一天。當我做'Response.Write(成功)'我得到'false'。 – enb081