C# 如何将日期格式转换为自定义日期格式?
我有以下字符串输出:C# 如何将日期格式转换为自定义日期格式?,c#,string,datetime,C#,String,Datetime,我有以下字符串输出: 24/05/15 11:40:50 AM 现在我想把这个字符串转换成->2015-05-24 11:40:50.000 我尝试了以下方法,但它给了我错误: 字符串未被识别为有效的日期时间 来自 将日期和时间的指定字符串表示形式转换为其 日期时间等价物字符串表示形式的格式必须为 精确匹配指定格式。 在你的情况下,他们不是 首先,您可以将其解析为具有特定格式的DateTime,并可以从该DateTime生成具有特定格式的字符串表示。喜欢 string s = "24/05/1
24/05/15 11:40:50 AM
现在我想把这个字符串转换成->2015-05-24 11:40:50.000
我尝试了以下方法,但它给了我错误:
字符串未被识别为有效的日期时间
来自
将日期和时间的指定字符串表示形式转换为其
日期时间等价物字符串表示形式的格式必须为
精确匹配指定格式。
在你的情况下,他们不是
首先,您可以将其解析为具有特定格式的DateTime
,并可以从该DateTime
生成具有特定格式的字符串表示。喜欢
string s = "24/05/15 11:40:50 AM";
DateTime dt;
if(DateTime.TryParseExact(s, "dd/MM/yy hh:mm:ss tt", CultureInfo.InvariantCulture,
DateTimeStyles.None, out dt))
{
Console.WriteLine(dt.ToString("yyyy-MM-dd hh:mm:ss.fff"));
}
印刷品
2015-05-24 11:40:50.000
来自
将日期和时间的指定字符串表示形式转换为其
日期时间等价物字符串表示形式的格式必须为
精确匹配指定格式。
在你的情况下,他们不是
首先,您可以将其解析为具有特定格式的DateTime
,并可以从该DateTime
生成具有特定格式的字符串表示。喜欢
string s = "24/05/15 11:40:50 AM";
DateTime dt;
if(DateTime.TryParseExact(s, "dd/MM/yy hh:mm:ss tt", CultureInfo.InvariantCulture,
DateTimeStyles.None, out dt))
{
Console.WriteLine(dt.ToString("yyyy-MM-dd hh:mm:ss.fff"));
}
印刷品
2015-05-24 11:40:50.000
@对不起,删除了那个部分。您不需要
Dump()
。它是一种扩展方法,我几乎总是使用它来解决堆栈溢出问题。如果字符串是24/05/15 9:39:34 AM
,它就不起作用了。哦..我找到了解决方案。我用h:mm:ss
和它的done@deepak确切地说,对于12小时制,当单个数字有额外的前导零时,它是01
到12
,但对于1
到12
时,它没有单个数字的前导零。@deepak抱歉,删除了该部分。您不需要Dump()
。它是一种扩展方法,我几乎总是使用它来解决堆栈溢出问题。如果字符串是24/05/15 9:39:34 AM
,它就不起作用了。哦..我找到了解决方案。我用h:mm:ss
和它的done@deepak确切地对于12小时制,如果为单个数字添加前导零,则为01
至12
,但在12小时制中为1
至12
,而不为单个数字添加前导零。您误解了DateTime的用途。ParseExact:它为表示日期及其格式的字符串创建日期时间()您误解了DateTime.ParseExact的用途:它创建一个DateTime,给定一个表示日期及其格式的字符串()