* (Questo è per il database ISV così mi tipo di Reverse Engineering questo e non posso cambiare) ...CLARION Data di Conversione C# + DATA ADD/sottrarre
Come posso fare il giorno successivo a int (visto/versa) la conversione in C# ...
Quindi dire la data è:
5/17/2012
esso viene convertito in int
77207
nel database.
All'inizio ho pensato che fosse una data giuliana, ma non sembra essere il caso. Stavo scherzando con il metodo da Julian Date Question tuttavia questo non corrisponde.
var date = ConvertToJulian(Convert.ToDateTime("5/17/2012"));
Console.WriteLine(date);
public static long ConvertToJulian(DateTime Date)
{
int Month = Date.Month;
int Day = Date.Day;
int Year = Date.Year;
if (Month < 3)
{
Month = Month + 12;
Year = Year - 1;
}
long JulianDay = Day + (153 * Month - 457)
/5 + 365 * Year + (Year/4) -
(Year/100) + (Year/400) + 1721119;
return JulianDay;
}
Outputs 2456055 //Should be 77207
Sto usando questo SQL per eseguire la conversione:
SELECT Convert(date, CONVERT(CHAR,DATEADD(D, 77207, '1800-12-28'),101))
e sembra essere precisi. Come posso fare questa conversione in C#? E qualcuno può edificarmi su quale standard si basa o è semplicemente una conversione casuale. Grazie in anticipo.
Hai provato a vedere se 5/18/2012 genera 77208 o se 2012/05/16 genera 77206? – Josh
@Josh Sì, ecco come ho capito quel bit di sql ... 5/18 = 77208 ecc ... –
Renaming for Future Persone che si imbattono in questo problema –