将0添加到c#中缺少的日期?

时间:2011-02-10 14:05:58

标签: c#

我有一个格式为

的字符串
dd/mm/yyyy

现在我想将它与另一个字符串进行比较并检查它们是否相等,另一个字符串的值可以是

dd/mm/yyyy

或有时当天在1到9之间时:

d/mm/yyyy

有时当月份在1到9之间时:

dd/m/yyyy

所以有几个实例,字符串不相等但实际日期是。 首先,我只看到在某些情况下当一天在1-9之间时,它不会以零开始,所以我做了:

createdDate = dateField.value.ToString().Substring(0, 10);
createdDate = createdDate.Trim();
if (createdDate.Length == 9)
    createdDate = "0" + createdDate;

但后来我发现月份可能相同,所以必须有更好的方法来检查这个吗?

5 个答案:

答案 0 :(得分:7)

为什么不解析两者,一个格式字符串为“dd / MM / yyyy”,另一个格式字符串为“d / M / yyyy”,并比较返回的DateTime值?毕竟,所代表的日期是重要的部分,而不是 string 表示。大概是。

答案 1 :(得分:1)

您应该使用DateTime.Parse将这两个值转换为日期,然后比较日期。

DateTime.Parse("01/01/2001") == DateTime.Parse("1/1/2001")

答案 2 :(得分:0)

当它是表示日期的字符串时,为什么不尝试将它们解析为日期,并比较你成为的日期实例?

你必须确保在解析时使用正确的模式。

查看DateTime.TryParse方法。

答案 3 :(得分:0)

我会将这两个日期解析为DateTime,然后对它们进行比较,这样您就不必担心比较中的不同格式了。

答案 4 :(得分:0)

首先,将字符串解析为DateTimeDateTime.ParseExact)类型的值,然后使用标准相等比较器(==)来比较日期。