当前位置: 技术问答>linux和unix
达人进来解决一下C++中CTime类中出现的一些问题 急急急
来源: 互联网 发布时间:2015-11-07
本文导语: 为了实现一些时间转化方面的功能我写了这样一个小程序,可是在DEV C++ 中和cygwin中却有着不同的结果: long CTime::getSecondOfYear(int aYear,int aMonth,int aDay, int aHour,int aMinute,int aSecond) const { long secondInYear; struct tm...
为了实现一些时间转化方面的功能我写了这样一个小程序,可是在DEV C++ 中和cygwin中却有着不同的结果:
long CTime::getSecondOfYear(int aYear,int aMonth,int aDay,
int aHour,int aMinute,int aSecond) const
{
long secondInYear;
struct tm t;
time_t t_of_day;
t.tm_year=aYear-1900;
t.tm_mon=aMonth-1;
t.tm_mday=aDay;
t.tm_hour=aHour;
t.tm_min=aMinute;
t.tm_sec=aSecond;
t_of_day=mktime(&t);
secondInYear = t_of_day;
return secondInYear;
}
有这么一个取得传入时间的决定秒数的函数,
用DEV C++算出来的是一个对的秒数,
用cygwin得到却是-1,谁能帮我解释一下?
long CTime::getSecondOfYear(int aYear,int aMonth,int aDay,
int aHour,int aMinute,int aSecond) const
{
long secondInYear;
struct tm t;
time_t t_of_day;
t.tm_year=aYear-1900;
t.tm_mon=aMonth-1;
t.tm_mday=aDay;
t.tm_hour=aHour;
t.tm_min=aMinute;
t.tm_sec=aSecond;
t_of_day=mktime(&t);
secondInYear = t_of_day;
return secondInYear;
}
有这么一个取得传入时间的决定秒数的函数,
用DEV C++算出来的是一个对的秒数,
用cygwin得到却是-1,谁能帮我解释一下?
|
传入的aYear值一样吗?是不是2038年之后了?
|
你在2台机器上man看看什么区别:
man mktime
一般情况可能是mktime时间定义不一样。
man mktime
一般情况可能是mktime时间定义不一样。