*(這是ISV數據庫,所以我有點逆向工程這一點,並不能改變)...CLARION日期轉換C#+日期加/減
我怎樣才能做到以下日期爲int(簽證/反之亦然)的轉換在C#...
這麼說的日期是:
5/17/2012
它被轉換成int
77207
在數據庫中。
起初我以爲這是一個儒略日期,但它似乎並非如此。我是從Julian Date Question的方法鬼混,但是這不匹配。
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
我一直在使用這個SQL做轉換:
SELECT Convert(date, CONVERT(CHAR,DATEADD(D, 77207, '1800-12-28'),101))
,它似乎是準確的。我怎麼能在C#中進行這種轉換?有人可以讓我認識到這是基於什麼標準,或者它只是一個隨機轉換。提前致謝。
您是否嘗試過,看看是否5/18/2012產生77208或者2012/5/16生成77206? – Josh
@Josh是的,這是我怎麼想出了一點的SQL ... 5/18 = 77208等... –
重命名爲未來人們遇到這個問題 –