您好,登錄后才能下訂單哦!
本篇內容主要講解“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類型,分別表該類型的各數據成員示年月日時分秒。
顯示系統當前時間:
復制代碼 代碼如下:
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”的字符串
例:
復制代碼 代碼如下:
#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#的時間如何轉換”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。