DateTime is (educated guess) is using Excel's Dublin Julian
format.
See
http://en.wikipedia.org/wiki/Julian_day_number
and search for "Dublin" on web page
Whole numbers are the number of days.
Fractional numbers are the time out of a 24 hour day.
0.0 is 30/Dec/1899
1.0 is 31/Dec/1899
2.0 is 1/Jan/1900
3.0 is 2/Jan/1900
4.0 is 3/Jan/1900
and so on
0.0 is 00:00:00 on 24 hour clock
0.5 is 12:00:00 on 24 hour clock
0.25 is 06:00:00 on 24 hour clock
0.75 is 18:00:00 on 24 hour clock
0.10 is 02.24:00 on 24 hour clock
and so on.
我随便说的,哈哈
网上搜了下(关键词:"adDate" ado c++),有跟你需求相反的,可以参考下:
来自 http://www.databaseforum.info/2/22/52b1c2c388f82c80.html :
Visual Studio C++ >> How to use a unix timestamp for an adDate ADO Parameter in c++ without COleDateTime
Just thought I'd share this because it has been bugging me for
hours...
When you're calling a SQL Server stored procedure with a DATE
parameter, this is how you can add the parameter in ADO (without the
need for COleDateTime)....
// Converts a unix timestamp into one that ADO can decipher
double * UnixTimestampToVariantTime(time_t unixTimestamp)
{
double *dblDBTS = new double;
SYSTEMTIME dbDate;
ZeroMemory(&dbDate, sizeof(SYSTEMTIME));
// Get the tm Struct for the specified unix timestamp
struct tm *timeUnits = localtime(&unixTimestamp);
// Calculate and return the Variant time for the populated SYSTEMTIME
struct
SystemTimeToVariantTime((LPSYSTEMTIME)&dbDate, dblDBTS);
return dblDBTS;
}