C# 如何将自定义字符串转换为有效的日期时间
我得到了一个C# 如何将自定义字符串转换为有效的日期时间,c#,datetime-format,C#,Datetime Format,我得到了一个字符串作为2014年4月10日-09:27,我希望它与当前的日期时间进行比较,看看它是否更低或更高 上面给出了一个错误,未被识别为有效的日期时间 我怎样才能正确地转换它 我是否需要先将日期格式化为某种格式等?您可以使用该函数并将其设置为您期望的格式。您可以使用该函数并将其设置为您期望的格式。使用DateTime.ParseExact或DateTime.TryParseExact(如果格式无效) 这适用于您的示例: DateTime dt = DateTime.ParseExact("
字符串
作为2014年4月10日-09:27
,我希望它与当前的日期时间
进行比较,看看它是否更低或更高
上面给出了一个错误,未被识别为有效的日期时间
我怎样才能正确地转换它
我是否需要先将日期格式化为某种格式等?您可以使用该函数并将其设置为您期望的格式。您可以使用该函数并将其设置为您期望的格式。使用
DateTime.ParseExact
或DateTime.TryParseExact
(如果格式无效)
这适用于您的示例:
DateTime dt = DateTime.ParseExact("10 Apr, 2014 - 09:27", "dd MMM, yyyy - HH:mm", CultureInfo.InvariantCulture);
我正在使用CultureInfo.InvariantCulture
来确保它可以与英语月份名称一起使用,即使当前的区域性不同。如果小时数不是24小时格式,您需要将HH
更改为HH
要与当前时间进行比较,请使用DateTime.Now
:
if(dt > DateTime.Now)
{
// ...
}
使用
DateTime.ParseExact
或DateTime.TryParseExact
(如果格式可能无效)
这适用于您的示例:
DateTime dt = DateTime.ParseExact("10 Apr, 2014 - 09:27", "dd MMM, yyyy - HH:mm", CultureInfo.InvariantCulture);
我正在使用CultureInfo.InvariantCulture
来确保它可以与英语月份名称一起使用,即使当前的区域性不同。如果小时数不是24小时格式,您需要将HH
更改为HH
要与当前时间进行比较,请使用DateTime.Now
:
if(dt > DateTime.Now)
{
// ...
}
您可以使用此链接完成您的要求: 代码段(来自提供的链接):
DateTime date1=新的DateTime(2009,8,1,0,0,0);
DateTime date2=新的日期时间(2009,8,1,12,0,0);
int result=DateTime.Compare(date1,date2);
字符串关系;
如果(结果<0)
relationship=“早于”;
否则如果(结果==0)
relationship=“与同时”;
其他的
relationship=“晚于”;
WriteLine({0}{1}{2}),date1,relationship,date2);
//该示例显示以下输出:
//2009年1月8日上午12:00:00早于2009年1月8日下午12:00:00
希望对您有所帮助。您可以使用此链接完成您的要求: 代码段(来自提供的链接):
DateTime date1=新的DateTime(2009,8,1,0,0,0);
DateTime date2=新的日期时间(2009,8,1,12,0,0);
int result=DateTime.Compare(date1,date2);
字符串关系;
如果(结果<0)
relationship=“早于”;
否则如果(结果==0)
relationship=“与同时”;
其他的
relationship=“晚于”;
WriteLine({0}{1}{2}),date1,relationship,date2);
//该示例显示以下输出:
//2009年1月8日上午12:00:00早于2009年1月8日下午12:00:00
希望对您有所帮助。自定义格式:@noobobob谢谢您收到了。自定义格式:@noobob谢谢您收到了。