如何从字符串中创建可读的日期和时间
本文关键字:日期 时间 创建 字符串 | 更新日期: 2023-09-27 17:59:08
我使用的api将日期作为字符串返回,如下所示:
2011-06-13T21:15:19Z
可以想象,这不是最容易理解的格式。我的目标是把它格式化成这样:
上午9:15-2011年6月13日
有人知道如何做到这一点吗?我需要使用正则表达式吗?或者有办法将其转换为DateTime
吗?
注意:我尝试过使用DateTime.ParseExact
方法,但没有成功。如果这是解决方案,你能告诉我如何转换上面的例子吗。谢谢
string date = "2011-06-13T21:15:19Z";
DateTime dt = DateTime.Parse(date);
我刚刚用TryParse尝试过,它成功了。使用try-parse比parse更好,因为您可以处理字符串没有解析的情况。如果你确定传递的字符串是静态的,那么我想这是没有必要的。
string Time = "2011-06-13T21:15:19Z";
DateTime t;
if (DateTime.TryParse(Time, out t))
{
//Works
}
DateTime.Parse
似乎适用于该字符串:
var dt = DateTime.Parse("2011-06-13T21:15:19Z");
Console.WriteLine(dt.ToString("h:mmtt - M/d/yyyy"));
编辑
如果你想得到格式化的字符串,让它看起来像你的问题中的样子,只需在上面加一个ToLower()
:
Console.WriteLine(dt.ToString("h:mmtt - M/d/yyyy").ToLower());
此外,所有日期和时间字符串格式选项都可以在此处找到:
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
DateTime.Parse应该与那些ISO8601日期字符串一起使用。
使用DateTime.Parse.
void Main()
{
var date = DateTime.Parse("2011-06-13T21:15:19Z");
Console.WriteLine(date);
}
您要查找的格式字符串是"hh:mmtt '- M/d/yyyy"
。