時間をdouble型に変換する関数 結局、こんなんにしました。 VC++コードです。
// local sub-func /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// double CLogTools::toDBLTimedata(SYSTEMTIME stm) { double time = 0; const int monthtabl[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// +年 if( stm.wYear >= 2008 ) { time += 3281990400.; // 3281958000.0000 + 32400; for(int year = 2008;year < stm.wYear;year++) { time += 86400 * (365 + ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)); } } else { for(int year = 1904;year < stm.wYear;year++) { time += 86400 * (365 + ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)); } } // +月 for(int month = 1;month < stm.wMonth ;month++) { time += 86400 * monthtabl[month - 1] + (month == 2 && ((stm.wYear % 4 == 0 && stm.wYear % 100 != 0) || stm.wYear % 400 [READ MORE...]
|