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

 更新时间:2013年12月12日 09:49:09   作者:  
这篇文章主要介绍了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类型,分别表该类型的各数据成员示年月日时分秒。
显示系统当前时间:

复制代码 代码如下:

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

相关文章

  • C#实现获取文件大小并进行比较

    C#实现获取文件大小并进行比较

    这篇文章主要为大家详细介绍了C#如何实现获取文件大小进行单位转换与文件大小比较功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-03-03
  • C#将指定目录所有文件名转换成小写的方法

    C#将指定目录所有文件名转换成小写的方法

    这篇文章主要介绍了C#将指定目录所有文件名转换成小写的方法,涉及C#中目录的遍历及filename.ToLowerInvariant方法的使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • C#操作注册表之Registry类

    C#操作注册表之Registry类

    这篇文章介绍了C#操作注册表之Registry类,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • c#调用c++方法介绍,window api

    c#调用c++方法介绍,window api

    c#在调用c++方法或者window api时不能象调用c#本身写的dll类库那样直接通过引用dll就可以调用相应的方法, 而是要把要引用的dll放到bin中,现通过[DllImport("um_web_client.dll")]引用
    2013-10-10
  • C#中的只读结构体(readonly struct)详解

    C#中的只读结构体(readonly struct)详解

    这篇文章主要给大家介绍了关于C#中只读结构体(readonly struct)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • C#多线程之线程绑定ThreadLocal类

    C#多线程之线程绑定ThreadLocal类

    这篇文章介绍了C#多线程之线程绑定ThreadLocal类的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C# 数组中的 indexOf 方法及使用

    C# 数组中的 indexOf 方法及使用

    这篇文章主要介绍了C# 数组中的 indexOf 方法以及indexof方法的使用讲解,需要的朋友可以参考下
    2018-02-02
  • C#连接SQL Server数据库的实例讲解

    C#连接SQL Server数据库的实例讲解

    在本篇文章里小编给大家整理了关于C#连接SQL Server数据库的实例内容,有需要的朋友们参考学习下。
    2020-01-01
  • 浅谈C#索引器

    浅谈C#索引器

    这篇文章主要简单介绍C#索引器,索引器使你可从语法上方便地创建类、结构或接口,以便客户端应用程序可以像访问数组一样访问它们。编译器将生成一个 Item 属性和适当的访问器方法,在主要目标是封装内部集合或数组的类型中,常常要实现索引器,下面我们一起来看看具体内容吧
    2021-11-11
  • C#生成条形码图片的简单方法

    C#生成条形码图片的简单方法

    这篇文章主要介绍了C#生成条形码图片的简单方法,实例分析了了条形码图片的生成原理与实现方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01

最新评论