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

moe*_*moe 6 c# asp.net

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

DateTime dt;
int quarterNumber = (dt.Month - 1) / 3 + 1;
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 22

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

DateTime dt = DateTime.Today;
Run Code Online (Sandbox Code Playgroud)

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

DateTime dt = DateTime.UtcNow.Date;
Run Code Online (Sandbox Code Playgroud)

仔细想想"今天"的意思.

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

int quarter = (month + 2) / 3;
Run Code Online (Sandbox Code Playgroud)