我需要知道确切的日期格式,将持续字符串16-Aug-78 12:00:00 AM
。我已经尝试过各种字符串,如“ss-MMM-yy hh:mm:ss”。有什么办法可以找到它转换为任何通用格式。我正在使用CultureInfo.InvariantCulture
类。如何查找日期字符串的确切格式?
2
A
回答
2
您的字符串格式不正确。它必须与您的字符串格式完全匹配。您可以改用dd-MMM-yy hh:mm:ss tt
格式。
这里是LINQPad的一个例子。
string s = "16-Aug-78 12:00:00 AM";
var date = DateTime.ParseExact(s, "dd-MMM-yy hh:mm:ss tt",
CultureInfo.InvariantCulture);
date.Dump();
或者,由于dd-MMM-yy hh:mm:ss tt
是InvariantCulture
一个非标准的日期和时间格式,可以直接DateTime.Parse
方法等;
string s = "16-Aug-78 12:00:00 AM";
var date = DateTime.Parse(s, CultureInfo.InvariantCulture);
date.Dump();
这里一个demonstration
。
有没有办法找到它转换为任何一般格式?
除了创建自己的格式之外,没有办法获取字符串的格式。只有你可以确切地知道你的字符串格式是什么,电脑不能。
例如; 01/02/2014
可以是2014年2月1日或2014年1月2日取决于您可以解析它的自定义格式。
1
你有错误的格式字符串,你使用ss的一天它应该是dd。这篇文章Custom Date and Time Format Strings解释了您需要的自定义格式。
使用
"dd-MMM-yy hh:mm:ss tt"
而不是
"ss-MMM-yy hh:mm:ss"
您可以使用DateTime.ParseExact解析字符串。
DateTime dt = DateTime.ParseExact("16-Aug-78 12:00:00 AM", "dd-MMM-yy hh:mm:ss tt", CultureInfo.InvariantCulture, DateTimeStyles.None);
0
尝试如下
var dstring = "16-Aug-78 12:00:00 AM";
DateTime result;
var matchingCulture = CultureInfo.GetCultures(CultureTypes.AllCultures).FirstOrDefault(ci => DateTime.TryParse(dstring, ci, DateTimeStyles.None, out result))
0
您可以DateTime.TryParseExact()尝试:
string strDate = "16-Aug-78 12:00:00 AM";
DateTime datDate;
if(DateTime.TryParseExact(strDate , new string[] {"dd-MMM-yy hh:mm:ss tt" },
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.None, out datDate))
{
Console.WriteLine(datDate);
}
else
{
Console.WriteLine("Error in datetime format");
}
相关问题
- 1. 字符串日期格式
- 2. 格式字符串日期
- 3. 日期字符串格式
- 4. 如何在不同的字符串中查找日期并将其转换为正确的日期格式?
- 5. 如何以字符串格式的日期正确地订购?
- 6. 如何找到一个字符串的日期格式
- 7. 如何找到两个日期是字符串格式的Android
- 8. 如何将日期字符串格式化为期望的日期格式
- 9. 如何确定字符串是否为日期格式?
- 10. 如何从字符串中确定日期格式?
- 11. 如何在PHP中检查字符串的日期格式?
- 12. Excel-VBA:从字符串中查找和替换日期格式
- 13. 使用jQuery查找并重新格式化日期字符串
- 14. 如何格式化另一种格式的字符串日期?
- 15. 将字符串以确切的方式转换为日期
- 16. 如何将MySQL日期格式更改为字符串日期
- 17. 如何从日期字符串中获取日期格式?
- 18. 如何从日期字符串格式获取日期对象
- 19. 如何将日期字符串转换为sql日期格式
- 20. 查找字符串中的确切字符串
- 21. 格式的字符串等的日期
- 22. Javascript格式日期从字符串到日期格式
- 23. VB.Net日期字符串格式模式
- 24. 如何测试日期格式字符串是否是Oracle中的有效日期格式字符串
- 25. 如何将此字符串格式化为日期格式?
- 26. 如何使用javascript在字符串中查找确切的子字符串
- 27. 字符串的日期格式
- 28. 日期时间格式的字符串
- 29. Smarty中的日期格式字符串
- 30. Android:字符串中的日期格式
谢谢。它帮助了我。但是有可能尝试使用几种优先格式,然后尝试使用哪种格式来获得确切的价值。我已经通过嵌套try catch来完成它。有没有更好的方法。 我注意到我的格式是错误的。 – pcbabu
@pcbabu不客气。 'DateTime.TryParseExact'方法[有一个重载](http://msdn.microsoft.com/en-us/library/h9b85w22%28v=vs.110%29.aspx),它将格式视为_string array_。这意味着您可以在您的方法中提供多个字符串格式。如果你的字符串匹配你的一种格式,这个方法返回'true'。 –