如何使用C#从当前日期获取当前季度

时间:2014-01-21 19:03:07

标签: c# asp.net

我试图从当前日期获得当前季度并将其作为int存储,然后在我得到当前季度之后,比如说它是Q1然后我想将Q1存储为字符串。我收到的错误如下:unassigned local variable dt。 。请帮忙。感谢

DateTime dt;
int quarterNumber = (dt.Month - 1) / 3 + 1;

4 个答案:

答案 0 :(得分:20)

你没有在任何地方指定“当前日期” - 你没有为你的dt变量赋值,这是编译器抱怨的。您可以使用:

DateTime dt = DateTime.Today;

请注意,这将使用系统本地时区 - 日期取决于时区。例如,如果您想要当前时刻的UTC日期,则需要:

DateTime dt = DateTime.UtcNow.Date;

仔细考虑“今天”的意思。

此外,您计算的一个稍微简单的替代版本将是:

int quarter = (month + 2) / 3;

答案 1 :(得分:1)

这是一个好的开始,我最终使用了这一行。看起来更直接的目标,而不是添加2。

Math.Ceiling(DateTime.Today.Month / 3m)

答案 2 :(得分:0)

dt目前被指定为null。您需要使用DateTime dt = DateTime.Now;

对其进行初始化

答案 3 :(得分:0)

它的初始值为MagicClassifier,其值为default(DateTime)