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

 更新时间:2020年6月25日 11:39  点击:2199

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类型,分别表该类型的各数据成员示年月日时分秒。
显示系统当前时间:

复制代码 代码如下:

int main()
{
time_t ltime;
time(&ltime);
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”的字符串
例:

复制代码 代码如下:

#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;   
}

2.将C++中time_t类型转换成C#中的DateTime类型

复制代码 代码如下:

//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);

3.将C#的DateTime类型转换成C++的time_t类型

复制代码 代码如下:

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));
}

[!--infotagslink--]

相关文章

  • 详解JavaScript UTC时间转换方法

    这篇文章主要介绍了JavaScript UTC时间转换方法,介绍了本地时间到UTC时间的转换、UTC日期到本地日期的转换,感兴趣的小伙伴们可以参考一下...2016-01-08
  • c++与c#的时间转换示例分享

    这篇文章主要介绍了C++与C#的时间转换方法,大家参考使用吧...2020-06-25
  • 例子:把字符串时间转换为timestamp

    $strtime = "2000-02-12 16:20:35"; $array = explode("-",$strtime); $year = $array[0]; $month = $array[1]; $array = explode(":",$array[2]); $minute = $array...2016-11-25
  • 时间转换成秒数

    时间转换成秒数 * 时间转换成秒数,类似时间戳 * @param string $time * @return int */ public static function timeToSec($time) { $p = explode(':',$...2016-11-25
  • php 时间转换静态方法

    php 时间转换静态方法 /** * 时间转换静态方法 * @param string $formatTo 返回格式 * @param mixed $source 时间源 * @return string */ public s...2016-11-25
  • PHP中mktime时间转换成毫秒的方法

    在php中要把时间日期转换成时间戳(转换成毫秒)我们有很多方法,最简单的就是利用time()直接获取的是毫秒如果是如2012-05-31这样的话,有要用其它方法了。 mktime()...2016-11-25
  • php强大的时间转换函数strtotime

    在php中strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳,这个函数也是我们经常会用到的,有需要的朋友参考一下...2016-02-20
  • datetime类型日期时间转换成中文表示

    下面是一个将datetime日期时间转换成年\', \'个月\', \'天\', \'小时\', \'分种\', \'秒\'来显示,有需要的朋友可以参考一下。 下面是一个将datetime日期时间转换...2016-11-25
  • php 时间转换日期与日期转换成时间

    php 时间转换日期与日期转换成时间 <?php $d ='2009-07-02 09:09:00'; echo date("Y-m-d",'1246606382'); echo date('Ymd',dateToTime($d)); $temp = dat...2016-11-25
  • php时间转换成秒数的例子

    php时间转换成秒数是非常的简单了我们使用了strtotime函数了,我们在这里来为各位介绍一下吧,希望文章能够帮助到大家. 把HH:MM:SS格式的时间字符串转换成秒数,可以...2016-11-25