源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

c++与c#的时间转换示例分享

  • 时间:2022-08-23 12:13 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:c++与c#的时间转换示例分享
[b]1.C++中的时间[/b]: (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类型,分别表该类型的各数据成员示年月日时分秒。 显示系统当前时间:
[u]复制代码[/u] 代码如下:
int main() { time_t ltime; time(<ime); cout<<ctime(&time); return 0; }
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”的字符串 例:
[u]复制代码[/u] 代码如下:
#include<stdio.h>    #include <stddef.h>    #include <time.h>    int main(void)    { time_t timer;  //time_t就是long int 类型 struct tm *tblock; timer = time(NULL);//这一句也可以改成time(&timer); tblock = localtime(&timer); printf("Local time is: %s\n",asctime(tblock)); return 0;    }
[b]2.将C++中time_t类型转换成C#中的DateTime类型[/b]:
[u]复制代码[/u] 代码如下:
//time_t是世界时间, 比 本地时间 少8小时(即28800秒) double seconds = 1259666013 + 28800; double secs = Convert.ToDouble(seconds); DateTime dt = new DateTime( 1970, 1, 1, 0, 0, 0, DateTimeKind.Unspecified).AddSeconds(secs); //TimeSpan span = //        TimeSpan.FromTicks(seconds*TimeSpan.TicksPerSecond); Console.WriteLine(dt);
[b]3.将C#的DateTime类型转换成C++的time_t类型[/b]
[u]复制代码[/u] 代码如下:
public static long DateTimeToTime_t(DateTime dateTime) { long time_t; DateTime dt1 = new DateTime(1970, 1, 1,0,0,0); TimeSpan ts =dateTime - dt1; time_t = ts.Ticks/10000000-28800;      return time_t; } static void Main(string[] args) { DateTime dateTime = new DateTime(2009,12,1,19,13,33); Console.WriteLine(DateTimeToTime_t(dateTime)); }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部