ASP.NET получить юлианскую дату от текущей даты - PullRequest
0 голосов
/ 20 декабря 2011

Эй, я хочу создать юлианский формат даты, например, YYDDD из текущей даты, где DDD будет числом дней с начала года.

Существуют ли какие-либо функции .NET для этого?

Ответы [ 3 ]

2 голосов
/ 20 декабря 2011

Поскольку, если вы работаете с юлианскими датами, вам, вероятно, придется делать это снова и снова, я предлагаю написать функцию расширения для System.DateTime, которая будет выполнять что-то вроде следующего:

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

ETA: если вам нужно преобразовать DateTime в формат даты Юлиана (создать отформатированную строку в формате даты Юлиана), я все же предлагаю функцию расширения, но она будет выглядеть так:

public static string ToJulianDate(this DateTime date) 
{
    return string.Format("{0:00000}", (date.Year % 100) * 1000 + date.DayOfYear);
}
0 голосов
/ 20 декабря 2011

Вот пара, которая может помочь:

   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
0 голосов
/ 20 декабря 2011

Нет функций, о которых я могу думать, но, возможно, это поможет:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...