日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

年月日时间和64位时间的使用及相互转换

發(fā)布時間:2024/3/13 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 年月日时间和64位时间的使用及相互转换 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?通常在我們的程序中,需要使用到年月日類型的時間,也需要使用64位整型的時間,比如存儲到數(shù)據(jù)庫中(數(shù)據(jù)庫中對應的時間字段的類型則為big int數(shù)據(jù)類型)。代碼中會涉及到如何獲取當前時間,以及年月日時間和64位時間之間的轉(zhuǎn)換問題。下面就自己遇到的實際情況,做一個小的總結(jié)。

1、獲取當前時間

??????? 獲取當前時間的時間有多種,下面說說使用time函數(shù),使用CTime類和使用SYSTEMTIME結(jié)構(gòu)體這三種常見的獲取當前時間的方法。

(1)使用time函數(shù)獲取當前時間

??????? 使用該函數(shù)的時候應該包含time.h頭文件,使用該函數(shù)獲取當前的64位時間最為簡單。

[cpp]? view plain copy
  • __time64_t?curTime?=?::time(NULL);????
  • ??????? 該方法在線程函數(shù)中比較實用,可以進行時間上的控制,通常線程函數(shù)都是一個循環(huán)體,在每次循環(huán)開始的時候,都獲取一下當前的時間,比如:

    (i)在客戶端的一個線程中,一方面要定時地給服務器發(fā)送心跳包數(shù)據(jù)(假如每隔10秒),另一方面又要進行其他的數(shù)據(jù)收發(fā)工作,而這些數(shù)據(jù)又要實時的的收發(fā),所以在該線程中不能等待10秒鐘后發(fā)送心跳包,然后再收發(fā)其他的數(shù)據(jù),這個時候我們就可以定義一個__time64_t類型的時間變量,記錄最后一次發(fā)送心跳包的時間,這樣在線程函數(shù)的循環(huán)中,每次循環(huán)只需要等待一個微小的時間就進入下一次循環(huán),在實時收發(fā)數(shù)據(jù)的同時判斷當前時間離最后一次發(fā)心跳包的時間間隔是否已經(jīng)到達10秒,若到達則發(fā)送新的心跳包,并更新最后一次心跳包發(fā)送的時間。

    (ii)在視頻監(jiān)控系統(tǒng)中,有計劃錄像的概念,那錄像的計劃是如何實現(xiàn)的呢?是如何進行調(diào)度的呢?這里就簡要的說明一下,開啟一個錄像調(diào)度的線程,在該線程中遍歷錄像對象列表,對象中包含錄像計劃的開始時間和結(jié)束時間,當當前時間大于或等于開始錄像時間時,就開始錄像,當當前時間大于或等于結(jié)束錄像時間時,就結(jié)束錄像。

    (2)使用CTime類獲取當前時間

    ?????? ? 由于該方法使用到CTime MFC類,所以只能用在MFC的工程中。首先定義一個CTime類對象,然后調(diào)CTime::GetCurrentTime()獲取當前時間,最后利用GetYear( ),GetMonth( ),GetDay( ),GetHour( ),GetMinute( )和GetSecond( )等函數(shù)得到具體的年月日時分秒信息。

    [cpp]? view plain copy
  • CTime?curTime;????
  • curTime?=?CTime::GetCurrentTime();????
  • CString?strCurTime;????
  • strCurTime.Format(?_T("%04d/%02d/%02d?%02d:%02d:%02d"),?curTime.GetYear(),?curTime.GetMonth(),?curTime.GetDay(),???
  • ?????????curTime.GetHour(),?curTime.GetMinute(),?curTime.GetSecond()?);????
  • ......//將時間顯示出來????
  • (3)使用SYSTEMTIME結(jié)構(gòu)體獲取當前時間????????

    ??????? 與CTime類處理的類似,先定義一個結(jié)構(gòu)體對象,然后調(diào)用GetLocalTime函數(shù)來獲取當前時間,結(jié)構(gòu)體對象的成員中則包含有年月日信息。與CTime類不同的是,該方法可以用在MFC工程中,也可以用在Win32工程中。

    [cpp]? view plain copy
  • SYSTEMTIME?curTime;????
  • GetLocalTime(&curTime);????
  • CString?strCurTime;????
  • strCurTime.Format(?_T("%04d/%02d/%02d?%02d:%02d:%02d"),?curTime.wYear,?curTime.wMonth,?curTime.wDay,???
  • ????????curTime.wHour,?curTime.wMinute,?curTime.wSecond?);????
  • ......//將當前時間顯示出來????
  • ????

    2、年月日時間和64位時間的相互轉(zhuǎn)化

    ??????? 64位時間保存到數(shù)據(jù)庫是很方便的,之前也有很多人問過如何將年月日時間保存到數(shù)據(jù)庫中,我覺得將他們轉(zhuǎn)化為64位時間后在保存到數(shù)據(jù)庫中比較好,數(shù)據(jù)庫中只要有一個big int時間字段就可以了,這樣不僅簡化了時間的保存方法,還有利于數(shù)據(jù)表的排序查詢。界面中數(shù)據(jù)要保存到數(shù)據(jù)庫中,要將之轉(zhuǎn)化為64為時間;從數(shù)據(jù)庫中讀出64為時間,要將之轉(zhuǎn)化為年月日時間在界面上顯示出來。

    (1)使用CTime類實現(xiàn)年月日時間和64位時間的相互轉(zhuǎn)化

    (i)年月日時間轉(zhuǎn)化為64位時間:

    ??????? 構(gòu)造CTime類對象時,將年月日信息作為構(gòu)造參數(shù)。

    [cpp]? view plain copy
  • CTime?thatTime(2010,?10,?06,?19,?22,?55);????
  • __time64_t?thatTime_64t?=?thatTime.GetTime();????
  • (ii)64位時間轉(zhuǎn)化為年月日時間:?

    ??????? 構(gòu)造CTime類對象時,將64位時間作為構(gòu)造參數(shù)。

    [cpp]? view plain copy
  • __time64_t?tahtTime;????
  • ......//中間處理,獲取64位時間????
  • CTime?ctThatTime(tahtTime);????
  • CString?strThatTime;????
  • strThatTime.Format(?_T("%04d/%02d/%02d?%02d:%02d:%02d"),?ctThatTime.GetYear(),?ctThatTime.GetMonth(),?ctThatTime.GetDay(),??
  • ??????????ctThatTime.GetHour(),?ctThatTime.GetMinute(),?ctThatTime.GetSecond()?);????
  • ......????
  • ??????? 上述方法適用于MFC工程中,而在非MFC的工程中則要使用到tm結(jié)構(gòu)體。

    (2)使用tm結(jié)構(gòu)體實現(xiàn)年月日時間和64位時間的相互轉(zhuǎn)化

    ??????? tm結(jié)構(gòu)體的定義如下所示:

    [cpp]? view plain copy
  • struct?tm?{??
  • ????????int?tm_sec;?????/*?seconds?after?the?minute?-?[0,59]?*/??
  • ????????int?tm_min;?????/*?minutes?after?the?hour?-?[0,59]?*/??
  • ????????int?tm_hour;????/*?hours?since?midnight?-?[0,23]?*/??
  • ????????int?tm_mday;????/*?day?of?the?month?-?[1,31]?*/??
  • ????????int?tm_mon;?????/*?months?since?January?-?[0,11]?*/??
  • ????????int?tm_year;????/*?years?since?1900?*/??
  • ????????int?tm_wday;????/*?days?since?Sunday?-?[0,6]?*/??
  • ????????int?tm_yday;????/*?days?since?January?1?-?[0,365]?*/??
  • ????????int?tm_isdst;???/*?daylight?savings?time?flag?*/??
  • ????????};??
  • (i)年月日時間轉(zhuǎn)化為64位時間:?

    ??????? 首先使用SYSTEMTIME結(jié)構(gòu)體來獲取當前的時間,然后利用tm結(jié)構(gòu)體將獲得年月日時間轉(zhuǎn)化為64位時間。

    [cpp]? view plain copy
  • SYSTEMTIME?curTime;????
  • GetLocalTime(?&curTime?);????
  • struct?tm?tmTime;????
  • tmTime.tm_year?=?curTime.wYear?-?1900;????
  • tmTime.tm_mon?=?curTime.wMonth;????
  • tmTime.tm_mday?=?curTime.wDay;????
  • tmTime.tm_hour?=?curTime.wHour;????
  • tmTime.tm_min?=?curTime.wMinute;????
  • tmTime.tm_sec?=?curTime.wSecond;????
  • __time64_t?curTime_64t?=?_mktime64(?&tmTime?);?????
  • (ii)64位時間轉(zhuǎn)化為年月日時間:?

    ??????? 首先將64位時間轉(zhuǎn)化為tm結(jié)構(gòu)體時間,然后再轉(zhuǎn)化成年月日時間。

    [cpp]? view plain copy
  • __time64_t?tahtTime;????
  • ......//獲取64位時間????
  • tm?*tmThatTime?=?_localtime64(?&thatTime?);????
  • char?cThatTime[30];????
  • memset(?cThatTime,?0,?30?);????
  • sprintf(?cThatTime,?"%04d/%02d/%02d?%02d:%02d:%02d",?tmThatTime->tm_year+1900,?tmThatTime->tm_mon+1,???
  • ??????tmThatTime->tm_mday,?tmThatTime->tm_hour,?tmThatTime->tm_min,?tmThatTime->tm_sec?);????
  • ...... ? ?
  • 總結(jié)

    以上是生活随笔為你收集整理的年月日时间和64位时间的使用及相互转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 美国一级大黄一片免费中文 | 抱着老师的嫩臀猛然挺进视频 | 91欧美国产 | 成人动漫视频 | 日本www色 | 久草国产精品视频 | 亚洲一区二区三区黄色 | 国产成人在线免费观看 | 能直接看的av网站 | 国产一二三区在线视频 | 色综合天天综合网国产成人网 | 黄色网战在线观看 | 国产激情亚洲 | 光棍影院手机版在线观看免费 | 精品麻豆av | 国产www免费观看 | 久久嫩草精品久久久久 | 亚洲 日本 欧美 中文幕 | av午夜激情 | 欧美99久久精品乱码影视 | 91免费视频 | 欧美人与动物xxxxx | 中国zzji女人高潮免费 | 国产二区免费 | 午夜福利啪啪片 | 97在线公开视频 | 污视频免费在线 | 久操精品视频 | 每日更新在线观看av | 亚洲日本一区二区三区 | 国产精品欧美激情 | 亚洲无码精品国产 | 欧美亚州国产 | av黄在线观看 | 在线99视频 | 亚洲综合精品视频 | 成人欧美精品 | 国产成人精品亚洲日本在线观看 | 久久久久夜夜夜精品国产 | 一二三区在线观看 | 懂色中文一区二区在线播放 | 性高潮视频在线观看 | 日韩精品中文字幕一区 | 天天爽夜夜春 | 国产精品夫妻自拍 | 在线精品亚洲欧美日韩国产 | 国产一级内谢 | 久久丫精品久久丫 | 国产成人精品一区二区三区免费 | 99ri视频| 日产国产亚洲精品系列 | 麻豆一区二区三区精品视频 | 18色av| 欧美精品欧美极品欧美激情 | 久久99精品久久久久久水蜜桃 | 日韩精品一区二区三区电影 | 青青草日本 | 曰本黄色片| www超碰在线| 丁香六月婷婷综合 | 青青草国产精品 | 污视频大全 | 黄色一级一级 | 久久夜夜操 | 国产免费久久 | 国产微拍精品一区 | 日韩黄色短片 | 美女视频黄免费 | 污污动态图 | 色片免费观看 | 亚洲成人91 | 一区二区视 | 蜜桃成人在线 | 久久无码性爱视频 | 成人在线欧美 | 一级α片免费看刺激高潮视频 | 嫩草视频一区二区三区 | 欧美cccc极品丰满hd | 国产精品成人免费精品自在线观看 | 成人激情小说网站 | 丰满大乳露双乳呻吟 | 黄色片不卡 | 麻豆一区二区在线 | 国产黄色小视频在线观看 | 国产黄大片在线观看画质优化 | 精品一区二区不卡 | 亚洲精品中文字幕乱码三区 | 国产精品高潮呻吟久久久久久 | 国产日韩第一页 | 日韩激情图片 | 国产农村熟妇videos | 国产性xxx| 精品动漫3d一区二区三区免费版 | 69人妻一区二区三区 | 蜜乳av 懂色av 粉嫩av | 伊人伊人鲁 | 最新毛片网站 | 久久久久久久久国产精品一区 | 国产成人亚洲综合a∨婷婷 台湾a级片 |