Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将自定义字符串转换为有效的日期时间_C#_Datetime Format - Fatal编程技术网

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谢谢您收到了。