ASP.NET从当前日期获取Julian Date

时间:2011-12-20 19:30:55

标签: asp.net datetime

嘿,我希望从当前日期创建一个像YYDDD这样的朱利安日期格式,其中DDD将是自该年开始以来的天数。

是否有任何.NET功能可以轻松完成此任务?

3 个答案:

答案 0 :(得分:2)

因为,如果您正在使用Julian日期,您可能需要一次又一次地执行此操作,我建议为System.DateTime编写扩展函数,该函数将执行如下操作:

return (DateTime.Year % 100) * 1000 + DateTime.DayOfYear

ETA:如果您要做的是将DateTime转换为Julian日期格式(以Julian日期格式创建格式化字符串),我仍然建议使用扩展函数,但它看起来像这样:

public static string ToJulianDate(this DateTime date) 
{
    return string.Format("{0:00000}", (date.Year % 100) * 1000 + date.DayOfYear);
}

答案 1 :(得分:0)

没有我能想到的功能,但也许这会有所帮助:

Public Function Date2Julian(ByVal vDate As Date) As Long

    Date2Julian = CLng(Format(Year(vDate), "0000") _
                  + Format(DateDiff("d", CDate("01/01/" _
                  + Format(Year(vDate), "0000")), vDate) _
                  + 1, "000"))

End Function

答案 2 :(得分:0)

以下是一对可能会有帮助的人:

   public double GetJulianDate(DateTime pdtmDate)
 {
 DateTime dtmStart = new DateTime(1,1,1);
 TimeSpan objTS = new TimeSpan(pdtmDate.Ticks - dtmStart.Ticks);
 return objTS.TotalDays + 1721637;
 }


Public Function Date2Julian(ByVal vDate As Date) As Long

    Date2Julian = CLng(Format(Year(vDate), "0000") _
                  + Format(DateDiff("d", CDate("01/01/" _
                  + Format(Year(vDate), "0000")), vDate) _
                  + 1, "000"))

End Function