C# 获取没有DayOfYear函数的年度日期?

C# 获取没有DayOfYear函数的年度日期?,c#,datetime,datetimepicker,C#,Datetime,Datetimepicker,我希望在不使用内置DayOfYear函数的情况下获取当前的一年中的某一天(2月2日为33日等)。。 当前日期将很快更改为日期时间选择器。 非常感谢您的回复。您可以使用硬编码的“月初”值数组(1、32、60、90、121等)自行计算,如果您在闰年,且月份为3月或更晚,则添加1。。。但为什么不直接使用内置物业呢 或者,不使用DateTime.DayOfYear:) (请注意,这使用了系统时区,如果您在不同的时区向用户提供页面,这可能不合适。请仔细考虑。)因为我不相信有充分的理由不使用DateTime

我希望在不使用内置DayOfYear函数的情况下获取当前的一年中的某一天(2月2日为33日等)。。 当前日期将很快更改为日期时间选择器。
非常感谢您的回复。

您可以使用硬编码的“月初”值数组(1、32、60、90、121等)自行计算,如果您在闰年,且月份为3月或更晚,则添加1。。。但为什么不直接使用内置物业呢

或者,不使用
DateTime.DayOfYear
:)


(请注意,这使用了系统时区,如果您在不同的时区向用户提供页面,这可能不合适。请仔细考虑。)

因为我不相信有充分的理由不使用
DateTime.Now.DayOfYear
,对于那些在寻找计算一年中某一天的正确方法时可能会遇到这个问题的人,我的答案是:

int dayOfYear = DateTime.Now.DayOfYear;

您可以自己计算:

protected int GetJulianDate(System.DateTime dDate)
{
    // CREATE THE JULIAN DATE FROM THE PROVIDED DATE
    //   dDate - THE DATE TO BE CONVERTED
    DateTime firstDay = DateTime.Parse("01/01/" + dDate.Year);
    TimeSpan ts = dDate.Subtract(firstDay);
    return ts.Days + 1;
}

为什么不想使用
DateTime.Now.DayOfYear
?当您不想使用内置功能时,如果您可以提供为什么不使用的详细信息,这会有所帮助。如果是家庭作业,好的,说出来。如果您的环境中存在某些特定的限制,请详细说明这些限制-如果内置功能不起作用,如果人们盲目操作,您如何知道建议的答案会起作用?
protected int GetJulianDate(System.DateTime dDate)
{
    // CREATE THE JULIAN DATE FROM THE PROVIDED DATE
    //   dDate - THE DATE TO BE CONVERTED
    DateTime firstDay = DateTime.Parse("01/01/" + dDate.Year);
    TimeSpan ts = dDate.Subtract(firstDay);
    return ts.Days + 1;
}