我有日期/时间格式,例如:
"2012-06-28T08:26:57Z"
使用什么样的日期/时间格式以及如何使用C#中的DateTime格式将其转换为以下格式:
"8/24/2012 4:09:17 AM"
答案 0 :(得分:6)
你可以这样做:
string input = "2012-06-28T08:26:57Z";
var dt = DateTime.Parse(input);
string output = dt.ToString(@"MM/dd/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
有关输入字符串各部分的含义,请查看以下链接:http://www.w3.org/TR/NOTE-datetime
答案 1 :(得分:2)
答案 2 :(得分:1)
这是通用可排序日期格式
您可以使用以下代码进行转换
var dt = DateTime.Parse("2012-06-28T08:26:57Z");
var newdt = String.Format("{0:G}", dt); // "6/28/2012 1:56:57 PM"
<强>更新强>
你也可以尝试这个
var dt = DateTime.Parse("2012-06-28T08:26:57Z", System.Globalization.CultureInfo.InvariantCulture);
var newdt = String.Format("{0:G}", dt);
答案 3 :(得分:1)
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx这是你问题的答案。在这里,您可以看到如何创建不同的日期格式。根据此资源,您可以使用以下内容:
String olddate="2012-06-28T08:26:57Z";
DateTime date=Convert.ToDateTime(olddate);
String date1=date.ToString("M/d/yyyy h:m:s tt");
答案 4 :(得分:1)
尝试使用这个东西。
var d = DateTime.Parse("2012-08-24T04:09:17Z");
Console.WriteLine (d.ToString("G"), CultureInfo.InvariantCulture);
请注意'常规日期/时间模式(长时间)'。 .net是特定于文化的。来自msdn:
6/15/2009 1:45:30 PM -> 6/15/2009 1:45 PM (en-US)
6/15/2009 1:45:30 PM -> 15/06/2009 13:45 (es-ES)
6/15/2009 1:45:30 PM -> 2009/6/15 13:45 (zh-CN)
答案 5 :(得分:1)
尝试此操作将通用日期时间转换为本地时间
var date = DateTime.ParseExact("2012-08-25T06:57:57Z","yyyy-MM-ddTHH:mm:ssZ",System.Globalization.CultureInfo.CurrentCulture);
var newformat = date.ToString("MM/dd/yyyy HH:mm:ss tt");
答案 6 :(得分:0)
尝试将日期转换为像这样的字符串
date.ToString("yyyy-MM-dd HH':'mm':'ss")
此处日期是存在日期的变量
或试试这个
string timeString = "11/12/2009 13:30:00.000";
IFormatProvider culture = new CultureInfo("en-US", true);
DateTime dateVal = DateTime.ParseExact(timeString, "dd/MM/yyyy HH:mm:ss.fff", culture);
这些链接也可能对您有所帮助。
答案 7 :(得分:0)
你可以简单地使用:)
DateTime dt = Convert.ToDateTime(“2012-06-28T08:26:57Z”);