*(这是针对 ISV 数据库的,所以我是一种逆向工程,无法更改)...
如何在 C# 中将以下日期转换为 int (visa/versa) ...
所以说日期是:
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# 中进行这种转换?有人可以告诉我这是基于什么标准,还是仅仅是随机转换。提前致谢。