[url]http://blog.chinaunix.net/space.php?uid=20691105&do=blog&id=1568658[/url]
[url]http://wenku.baidu.com/view/6edb55116c175f0e7cd13752.html[/url]
[size=large]LZ,有雅兴时,记得回去再看看time.h[/size]
[url]http://wenku.baidu.com/view/6edb55116c175f0e7cd13752.html[/url]
Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间。
Greenwich Mean Time(GMT):格林威治标准时间。
格林威治时间已经不再被作为标准时间使用,即而代之的是协调世界时间,由原子钟提供。
先有GMT,后有UTC,故标准0时还是GMT,中国是东8区:UTC+8 or GMT+8
Calendar Time:日历时间,是用“从一个标准时间点到此时的时间经过的秒数”来表示的时间。
epoch:时间点,某个时间和标准时间点相差的秒数(即日历时间)。
clock tick:省略,标准C/C++中,最小的计时单位是一毫秒。
[size=large]LZ,有雅兴时,记得回去再看看time.h[/size]
#include <stdio.h>
#include <time.h>
int main(int argc, char *argv[])
{
time_t now; // 载体,秒数
time(&now); // 返回当前时间,gettimeofday(),能返回微秒级
printf("%ld\n",now);
struct tm *strTm; // 格式化后的载体
// strTm = gmtime(&now); // 国际时间
strTm = localtime(&now); // 本地
char cTime[20]; // 更和谐的查看
sprintf(cTime, "%04d-%02d-%02d %02d:%02d:%02d",strTm->tm_year+1900,strTm->tm_mon+1,strTm->tm_mday,strTm->tm_hour,strTm->tm_min,strTm->tm_sec);
printf("%s\n",cTime);
printf(" ctime = %s",ctime(&now));
printf("asctime = %s",asctime(strTm));
time_t t = time(0);
char tmp[64];
strftime( tmp, sizeof(tmp), "%Y/%m/%d %X 本年第%j天",localtime(&t) );
puts( tmp );
return 0;
}
struct tm
{
int tm_sec; /* 秒 – 取值区间为[0,59] */
int tm_min; /* 分 - 取值区间为[0,59] */
int tm_hour; /* 时 - 取值区间为[0,23] */
int tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */
int tm_mon; /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */
int tm_year; /* 年份,其值等于实际年份减去1900 */
int tm_wday; /* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */
int tm_yday; /* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */
int tm_isdst; /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/
};
-(NSString *)timeLongToString:(NSInteger)time
{
if (time <= 0) return @"00:00:00";
time /= 1000;
int h = time/3600;
int m = time/60 - h*60;
int s = time%60;
return [NSString stringWithFormat:@"%02d:%02d:%02d", h , m, s];
}