# Calculating days in 360-format from SYSTEMTIME

Hi, I have 2 SYSTEMTIME structures and I know how to calculate the 365-day difference between them. (FILETIME int64 etc)

My problem is to calculate the total days in a 360-day format. Excel has a function Days360 which does that, but I couldn't find something in C++.

How to do it?

Regards
LVL 6
###### Who is Participating?

Commented:
int days360(SYSTEMTIME tm1, SYSTEMTIME tm2){
if( tm1.wDay > 30 ){ tm1.wDay = 30; }
if( tm2.WDay > 30 ){ tm2.wDay = 30; }
return ((tm1.wYear-tm2.wYear)*12+tm1.wMonth-tm2.wMonth)*30+tm.wDay-tm2.wDay;
}
0

Commented:
#include <time.h>

int days360(time_t t1, time_t t2){
struct tm tm1,tm2,*tm;
tm1 = *localtime(&t1);
tm2 = *localtime(&t2);
if( tm1.tm_mday > 30 ){ tm1.tm_mday = 30; }
if( tm2.tm_mday > 30 ){ tm2.tm_mday = 30; }
return ((tm1.tm_year-tm2.tm_year)*12+tm1.tm_mon-tm2.tm_mon)*30+tm1.tm_mday-tm2.tm_mday;
}
0

Author Commented:
And how to convert SYSTEMTIME to a time_t ?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.