Chinaunix
标题:
求一个整型的秒数变成年月日时分秒格式的算法
[打印本页]
作者:
gangzh12345
时间:
2004-04-23 12:56
标题:
求一个整型的秒数变成年月日时分秒格式的算法
需要对时间进行处理,将一个整型的秒数转换成年月日时分秒格式,大家有现成的程序就给贴一个,谢谢!
作者:
FH
时间:
2004-04-23 13:13
标题:
求一个整型的秒数变成年月日时分秒格式的算法
自己不会做么?
作者:
li2002
时间:
2004-04-23 13:42
标题:
求一个整型的秒数变成年月日时分秒格式的算法
0秒是?年?月?日?时?分?
作者:
lenovo
时间:
2004-04-23 14:31
标题:
求一个整型的秒数变成年月日时分秒格式的算法
man localtime
作者:
carol1980
时间:
2004-04-23 14:38
标题:
求一个整型的秒数变成年月日时分秒格式的算法
楼主好像是要自己写一个转换算法?
作者:
growup
时间:
2004-04-23 14:39
标题:
求一个整型的秒数变成年月日时分秒格式的算法
0秒是1970-01-01 00:00:00
#include <stdio.h>;
#include <time.h>;
main()
{
struct tm l_tm;
time_t l_time = 0;
gmtime_r(&l_time, &l_tm);
printf("%04d-%02d-%02d %02d:%02d:%02d",
l_tm.tm_year+1900,l_tm.tm_mon+1,l_tm.tm_mday,
l_tm.tm_hour,l_tm.tm_min,l_tm.tm_sec);
}
作者:
anman_zhou
时间:
2013-03-05 08:59
看这个:
/*
* Convert seconds since 01-01-1970 00:00:00 to Gregorian date.
*/
void rtc_time_to_tm(unsigned long time, struct rtc_time *tm)
{
unsigned int month, year;
int days;
days = time / 86400;
time -= (unsigned int) days * 86400;
/* day of the week, 1970-01-01 was a Thursday */
tm->tm_wday = (days + 4) % 7;
year = 1970 + days / 365;
days -= (year - 1970) * 365
+ LEAPS_THRU_END_OF(year - 1)
- LEAPS_THRU_END_OF(1970 - 1);
if (days < 0) {
year -= 1;
days += 365 + is_leap_year(year);
}
tm->tm_year = year - 1900;
tm->tm_yday = days + 1;
for (month = 0; month < 11; month++) {
int newdays;
newdays = days - rtc_month_days(month, year);
if (newdays < 0)
break;
days = newdays;
}
tm->tm_mon = month;
tm->tm_mday = days + 1;
tm->tm_hour = time / 3600;
time -= tm->tm_hour * 3600;
tm->tm_min = time / 60;
tm->tm_sec = time - tm->tm_min * 60;
tm->tm_isdst = 0;
}
作者:
windoze
时间:
2013-03-05 11:35
回复
7#
anman_zhou
这个程序是错的…………还记得前一阵子闰秒的事么?
切记,年月日是“历法单位”,时分秒是“时间单位”,两者之间没有简单的换算关系,只能用一堆映射规则做类似查表的算法。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2