我有日期/时间格式,例如:
"2012-06-28T08:26:57Z"
那是什么样的日期/时间格式以及如何将其转换为以下格式,使用 C# 中的 DateTime 格式。:
"8/24/2012 4:09:17 AM"
你可以这样做:
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
那是通用可排序日期格式
您可以使用以下代码进行转换
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);
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");
尝试使用类似的东西。
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)
尝试将日期转换为这样的字符串
date.ToString("yyyy-MM-dd HH':'mm':'ss")
这里 date 是一个变量,其中存在日期
或试试这个
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);
这些链接也可能对您有所帮助。
试试这个将通用日期时间转换为本地时间
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");
你可以简单地使用:)
DateTime dt = Convert.ToDateTime("2012-06-28T08:26:57Z");