将DateTime解析为通用时间C#
我有一个xml,它可以返回格式为(7/23/2013 4:00pm)的时间。我的问题是:如何向DateTime.ParseExact解释我是在“am”还是在“pm”中?我有这段代码,但它返回一个异常(无法解析字符串) 我已经放置了一个示例字符串(7/23/2013 4:00pm),其中我将“pm”替换为空链“”将DateTime解析为通用时间C#,c#,datetime,.net-3.5,C#,Datetime,.net 3.5,我有一个xml,它可以返回格式为(7/23/2013 4:00pm)的时间。我的问题是:如何向DateTime.ParseExact解释我是在“am”还是在“pm”中?我有这段代码,但它返回一个异常(无法解析字符串) 我已经放置了一个示例字符串(7/23/2013 4:00pm),其中我将“pm”替换为空链“” 非常感谢:)您需要tt格式: string pattern = "MM/dd/yyyy h:mm 'UTC' tt"; DateTime time = DateTime.ParseExa
非常感谢:)您需要
tt
格式:
string pattern = "MM/dd/yyyy h:mm 'UTC' tt";
DateTime time = DateTime.ParseExact(sb.ToString(), pattern, CultureInfo.InvariantCulture,
DateTimeStyles.AssumeUniversal |
DateTimeStyles.AdjustToUniversal);
H
在您的模式中,预期时间为24小时。您需要tt
(如前面的答案所述),并且您必须在您的模式中使用一个小的h
:
string pattern = "MM/dd/yyyy h:mm 'UTC' tt";
可以传递数组以覆盖各种格式。我将以下内容用于各种时间输入
var formats = new[]
{
"M/dd/yyyy hh:mm tt",
"M/dd/yyyy hh:mmtt",
"M/dd/yyyy h:mm tt",
"M/dd/yyyy h:mmtt",
"M/dd/yyyy hhtt",
"M/dd/yyyy htt",
"M/dd/yyyy h tt",
"M/dd/yyyy hh tt"
};
var date = "7/23/2013 4:00pm";
DateTime time = DateTime.ParseExact(date, formats, CultureInfo.InvariantCulture,
DateTimeStyles.AssumeUniversal |
DateTimeStyles.AdjustToUniversal);
是的,我想是的,但是日期是什么时候(比如晚上11:15)?H:嗯,这个模式行不通,不是吗?上午和下午的区别是什么(提前感谢:)试着用h代替h。tt必须与am或pm匹配,不是吗?那太棒了:D正是我想要的
var formats = new[]
{
"M/dd/yyyy hh:mm tt",
"M/dd/yyyy hh:mmtt",
"M/dd/yyyy h:mm tt",
"M/dd/yyyy h:mmtt",
"M/dd/yyyy hhtt",
"M/dd/yyyy htt",
"M/dd/yyyy h tt",
"M/dd/yyyy hh tt"
};
var date = "7/23/2013 4:00pm";
DateTime time = DateTime.ParseExact(date, formats, CultureInfo.InvariantCulture,
DateTimeStyles.AssumeUniversal |
DateTimeStyles.AdjustToUniversal);