首页 > 代码库 > localtime和gmtime

localtime和gmtime

// temp10.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <Windows.h>#include <stdio.h>#include <time.h>int _tmain(int argc, _TCHAR* argv[]){    //宇宙标准时间是格林威治时间。    //为了适应地球上的个个地方人们的生活作息,人们发明了本地时间。    //本地时间,是基于格林威治时间并根据太阳升落修正后的时间。即我们日常生活中所使用到的时间。    //tm和time_t是两种表示时间的格式。表示的是从1900年1月1日0时0分0秒到现在的秒数。    //无论用格林威治时间计算,还是用当地时间计算,时间差秒数都是相同的。    struct tm deviceTime;    ZeroMemory(&deviceTime, sizeof(struct tm));    deviceTime.tm_year=2014-1900;    deviceTime.tm_mon=1-1;    deviceTime.tm_mday=1;    deviceTime.tm_hour=8;    deviceTime.tm_min=0;    deviceTime.tm_sec=0;    time_t ti=mktime(&deviceTime);    //localtime把tim_t的形式转换为tm的形式。    //此函数只有一个参数,此参数表示的是:从本地时间的1900年1月1日0时0分0秒到本地时间的现在的秒数。    //返回值,表示本地时间秒数的年月日时分秒的格式数据。即localtime内部不会理会当前计算机上设置的时区。    struct tm* newtime=localtime(&ti);    printf("%04d-%d-%02d %02d:%02d:%02d\n",        newtime->tm_year+1900, newtime->tm_mon+1, newtime->tm_mday, newtime->tm_hour, newtime->tm_min, newtime->tm_sec);    //gmtime,同localtime一样,也把tim_t的形式转换为tm的形式。    //此函数也只有一个参数,此参数表示的是:从本地时间的1900年1月1日0时0分0秒到本地时间的现在的秒数。    //返回值,表示的是格林威治时间。即是:根据程序所在的计算机上设置的本地时区,把参数传入的本地时间,转变为格林威治时间。    //例如,本地时间为2014-7-9 08:00:00 转变为格林威治时间(宇宙标准时间)为2014-7-9 00:00:00。    newtime=gmtime(&ti);    printf("%04d-%d-%02d %02d:%02d:%02d\n",        newtime->tm_year+1900, newtime->tm_mon+1, newtime->tm_mday, newtime->tm_hour, newtime->tm_min, newtime->tm_sec);    getchar();    return 0;}

 

完。