如何使用C#从当前日期获取当前季度
我试图从当前日期获得当前季度并将其作为int存储,然后在我得到当前季度之后,比如说它是Q1然后我想将Q1存储为字符串。 我收到的错误如下:unassigned local variable dt。 。 请帮忙。 谢谢
DateTime dt; int quarterNumber = (dt.Month - 1) / 3 + 1;
那么你没有在任何地方指定“当前日期” – 你没有为你的dt
变量赋值,这是编译器抱怨的。 您可以使用:
DateTime dt = DateTime.Today;
请注意,这将使用系统本地时区 – 日期取决于时区。 例如,如果您想要当前时刻的UTC日期,您需要:
DateTime dt = DateTime.UtcNow.Date;
仔细想想“今天”的意思。
此外,您计算的一个稍微简单的替代版本将是:
int quarter = (month + 2) / 3;
这是一个好的开始,我最终使用了这一行。 看起来更直接的目标,而不是添加2。
Math.Ceiling(DateTime.Today.Month / 3m)
dt目前被指定为null。 您需要使用DateTime dt = DateTime.Now;
初始化它DateTime dt = DateTime.Now;
它使用default(DateTime)
初始化,其值为1/1/0001 12:00:00 AM