Эй, я ищу, чтобы создать Юлианский формат даты, например YYDDD, с текущей даты, где DDD будет числом дней с начала года.ASP.NET get Julian Дата с текущей даты
Есть ли какие-либо функции .NET для этого?
Эй, я ищу, чтобы создать Юлианский формат даты, например YYDDD, с текущей даты, где DDD будет числом дней с начала года.ASP.NET get Julian Дата с текущей даты
Есть ли какие-либо функции .NET для этого?
Так, если вы работаете с датами юлианского , вам, вероятно, понадобится сделать это снова и снова, я предлагаю написать функцию расширения для System.DateTime, которая выполнила бы что-то вроде следующего:
return (DateTime.Year % 100) * 1000 + DateTime.DayOfYear
ETA: Если то, что вы хотите сделать, это преобразовать DateTime в формате даты Julian (создать отформатированную строку в юлианском формате даты), я до сих пор предложить функцию расширения, но это будет выглядеть следующим образом:
public static string ToJulianDate(this DateTime date)
{
return string.Format("{0:00000}", (date.Year % 100) * 1000 + date.DayOfYear);
}
просто интересно, как я меняю формат YYDDD, так что прошлое с этого года – StevieB
@StevieB А, так что вы не спрашиваете, как конвертировать дату в число, представляющее юлианскую дату, но как отформатировать System.DateTime как YYDDD (в основном, преобразовать его в строку в этом формате?) –
Нет функций, которые я могу думать, но, возможно, это помогло бы:
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
Вот несколько, которые могут помочь:
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
Да, проблема только в том, что мне нужно это в формате YYDDD, поэтому его только дни прошли в этом году – StevieB
возможный дубликат [Конвертировать DateTime в Julian Date в C# (ToOADate Safe?)] (http://stackoverflow.com/questions/5248827/convert-datetime-to-julian-date-in-c-sharp-tooadate-safe) – kd7