我试图从当前日期获得当前季度并将其作为int存储,然后在我得到当前季度之后,比如说它是Q1然后我想将Q1存储为字符串。我收到的错误如下:unassigned local variable dt。 。请帮忙。感谢
DateTime dt;
int quarterNumber = (dt.Month - 1) / 3 + 1;
答案 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)