如何在c#中获取当前年份的第一天和最后一天

use*_*115 44 c# date

如何在Windows Phone 7的c#中获取当年的第一天和最后一天?

Ham*_*yan 99

这个?

int year = DateTime.Now.Year;
DateTime firstDay = new DateTime(year , 1, 1);
DateTime lastDay = new DateTime(year , 12, 31);
Run Code Online (Sandbox Code Playgroud)

  • 这将跳过最后一天,因为它将生成 12 月 31 日 00:00 而不是 23:59 (5认同)
  • 问题是关于日期,而不是日期时间 (3认同)
  • 确实如此,但大多数人并没有做出改变,而是在不知不觉中犯了这个错误。这就是为什么我更愿意在这里留下这条评论。只需要日期的人会忽略我的评论。 (3认同)

boi*_*iil 24

试试这个:

var firstDay = new DateTime(DateTime.Now.Year, 1, 1);
var lastDay = new DateTime(DateTime.Now.Year, 12, 31);
Run Code Online (Sandbox Code Playgroud)


Boj*_*hev 7

这里的答案实际上都没有考虑到最后一天。在我看来,这样做的正确方法是:

    int year = DateTime.Now.Year;
    DateTime firstDay = new DateTime(year , 1, 1);
    DateTime lastDay = firstDay.AddYears(1).AddTicks(-1)
Run Code Online (Sandbox Code Playgroud)

希望这对某人有价值:)

  • 根据问题的要求,答案提供了一年中最后一个“日期”的“日期时间”值。这个问题没有提到任何关于*最后一天的最后一刻*的事情。请注意,如果要在某种条件下使用“最后时刻”,通常最好给出一个唯一的上限(下一年的开始),这样精度就无关紧要了。(如果您必须与*确实*只有 1 秒精度的东西进行交互,并且最终会错过“除了最后一秒之外的所有时间”,那就不太好了。) (2认同)