C# 中的日期计算

发布于 2024-12-02 02:10:36 字数 317 浏览 0 评论 0原文

我有一个日期字符串,格式如下:

yyyy-mm-dd

例如,

2011-08-29

我想检查两个日期并查看 date1 是否小于 date2。

伪代码:

string date1 = "2011-08-29";
string date2 = "2011-09-29";

if (date1 < date2) {
    MessageBox.Show("First date is smaller!");
}

I have a date as string in the following format:

yyyy-mm-dd

e.g.

2011-08-29

I want to check two dates and see if date1 is smaller than date2.

pseudocode:

string date1 = "2011-08-29";
string date2 = "2011-09-29";

if (date1 < date2) {
    MessageBox.Show("First date is smaller!");
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

左耳近心 2024-12-09 02:10:36
DateTime date1 = new DateTime(2009, 8, 1, 0, 0, 0);
DateTime date2 = new DateTime(2009, 8, 1, 12, 0, 0);
int result = DateTime.Compare(date1, date2);
string relationship;

if (result < 0)
   relationship = "is earlier than";
else if (result == 0)
   relationship = "is the same time as";         
else
   relationship = "is later than";
DateTime date1 = new DateTime(2009, 8, 1, 0, 0, 0);
DateTime date2 = new DateTime(2009, 8, 1, 12, 0, 0);
int result = DateTime.Compare(date1, date2);
string relationship;

if (result < 0)
   relationship = "is earlier than";
else if (result == 0)
   relationship = "is the same time as";         
else
   relationship = "is later than";
微凉徒眸意 2024-12-09 02:10:36

如果保证日期始终采用该精确格式,则字符串比较就足够了。

If it's guaranteed that the dates are always in that exact format, a string comparison is sufficient.

风苍溪 2024-12-09 02:10:36

将字符串转换为 DateTime 变量并使用此处找到的 DateTime.CompareTo http://msdn.microsoft.com/en-us/library/5ata5aya.aspx

使用 Convert.ToDateTime(date1) 进行转换。

解决方案可能看起来像

If (Convert.ToDateTime(date1).CompareTo(Convert.ToDateTime(date2)) < 0){
MessageBox.Show("First date is smaller!");
}

Convert both your strings to DateTime variables and use DateTime.CompareTo found here http://msdn.microsoft.com/en-us/library/5ata5aya.aspx

Use Convert.ToDateTime(date1) to convert.

Solution could look like

If (Convert.ToDateTime(date1).CompareTo(Convert.ToDateTime(date2)) < 0){
MessageBox.Show("First date is smaller!");
}
亣腦蒛氧 2024-12-09 02:10:36

您可以通过解析该字符串来创建一个 DateTime 对象,然后继续该逻辑。
例如:

DateTime dateTime1 = DateTime.Parse(date1);

为了安全解析,DateTime.TryParse(date1, out dateTime1)

You can create a DateTime object by parsing that string and then continue with that logic.
Ex:

DateTime dateTime1 = DateTime.Parse(date1);

for safe parsing, the DateTime.TryParse(date1, out dateTime1)

海风掠过北极光 2024-12-09 02:10:36

如果日期是YYYY-mm-dd格式,则不需要解析。你的例子运行得很好。

If the dates are in YYYY-mm-dd format, there is no need for parsing. Your example is working perfectly well.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文