c++与c#的时间如何转换
本篇内容主要讲解“c++与c#的时间如何转换”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“c++与c#的时间如何转换”吧!
1.C++中的时间:
(1) time_t其实是一个64位的long int类型
(2) time函数:
函数简介:
函数名: time
头文件: time.h
函数原型:time_t time(time_t *timer)
功能: 获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个大整数,其值表示从CUT(Coordinated Universal Time)时间1970年1月1日00:00:00(称为UNIX系统的Epoch时间)到当前时刻的秒数,然后调用localtime将time_t所表示的CUT时间转换为本地时间(我们是+8区,比CUT多8个小时)并转成struct tm类型,分别表该类型的各数据成员示年月日时分秒。
显示系统当前时间:
复制代码 代码如下:
intmain(){time_tltime;time(<ime);cout<<ctime(&time);return0;}
ctime函数:
char *ctime(const time_t *timer);
timer:time_t类型指针
返回值:格式为“星期 月 日 小时:分:秒 年\n\0”的字符串
localtime函数:(gmtime函数与之类似)
struct tm *localtime(const time_t *timer);
timer:time_t类型指针
返回值:以tm结构表示的时间指针
asctime函数:
char *asctime(const struct tm *timeptr);
timeptr:结构tm指针
返回值:格式为“星期 月 日 小时:分:秒 年\n\0”的字符串
例:
复制代码 代码如下:
#include<stdio.h> #include<stddef.h> #include<time.h> intmain(void) {time_ttimer;//time_t就是longint类型structtm*tblock;timer=time(NULL);//这一句也可以改成time(&timer);tblock=localtime(&timer);printf("Localtimeis:%s\n",asctime(tblock));return0; }
2.将C++中time_t类型转换成C#中的DateTime类型:
复制代码 代码如下:
//time_t是世界时间,比本地时间少8小时(即28800秒)doubleseconds=1259666013+28800;doublesecs=Convert.ToDouble(seconds);DateTimedt=newDateTime(1970,1,1,0,0,0,DateTimeKind.Unspecified).AddSeconds(secs);//TimeSpanspan=//TimeSpan.FromTicks(seconds*TimeSpan.TicksPerSecond);Console.WriteLine(dt);
3.将C#的DateTime类型转换成C++的time_t类型
复制代码 代码如下:
publicstaticlongDateTimeToTime_t(DateTimedateTime){longtime_t;DateTimedt1=newDateTime(1970,1,1,0,0,0);TimeSpants=dateTime-dt1;time_t=ts.Ticks/10000000-28800;returntime_t;}staticvoidMain(string[]args){DateTimedateTime=newDateTime(2009,12,1,19,13,33);Console.WriteLine(DateTimeToTime_t(dateTime));}
到此,相信大家对“c++与c#的时间如何转换”有了更深的了解,不妨来实际操作一番吧!这里是主机评测网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
上一篇:怎么用纯JS实现轻量化图片编辑器