日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 黄网页在线观看 | 中文字幕免费播放 | 一级大片儿 | 欧美巨乳在线 | 欧美交受高潮1 | 欧美黑人添添高潮a片www | 美女久久久久久久久久 | 福利社午夜影院 | 182午夜视频| 成人黄色免费 | 69亚洲 | cao国产| 亚洲免费av一区 | 97人妻精品一区二区 | 久久黄色录像 | 亚洲妇女av | 99热这里只有精品3 成年人黄色网址 | 久久99国产综合精品免费 | 精品少妇一区二区三区 | 凹凸视频一区二区 | 色牛影院| 亚洲乱熟女一区二区三区小说 | 中文一二区 | 日韩av中文在线 | 欧美资源站 | 日产av在线| 黄色免费网站观看 | 丰满大乳奶做爰ⅹxx视频 | 国产精品久久久久久一区二区三区 | 青青草婷婷 | 国产午夜成人久久无码一区二区 | 国产丝袜美腿一区二区三区 | 中国黄色片视频 | 69av视频| 日本人妖xxxx | 禁断介护老人中文字幕 | 91一区二区在线观看 | 欧美三级视频在线播放 | 每日更新在线观看av | 欧美三级三级三级爽爽爽 | 少妇逼逼| 欧美乱欲视频 | 污污在线看 | 欧美美女色图 | av日韩不卡 | 亚洲第一免费视频 | 国产福利在线视频 | 欧美做受喷浆在线观看 | 久久噜噜色综合一区二区 | 日韩av无码一区二区三区 | 91精品国产综合久久国产大片 | 日韩午夜片 | 韩国不卡av | 鲁丝一区二区 | 亚洲无限码 | 国产精品网站免费 | www.污网站 | 日日干天天 | 波多野结衣一级 | 精品人妻一区二区三区蜜桃视频 | 18禁免费无码无遮挡不卡网站 | 亚洲精品电影 | av福利网 | 激情aaa | 成年人色片 | 色站综合| 国产精品色 | 钰慧的mv视频在线观看 | 亚洲国产精品无码观看久久 | 久久少妇av | 精品日韩久久 | 色爽爽爽 | 国产视频一二三区 | 国产激情无码一区二区 | 毛片网站在线免费观看 | 欧美一区三区三区高中清蜜桃 | 亚洲天堂aaa | 波多野结衣中文字幕一区二区三区 | 亚洲国产精品免费在线观看 | 日韩成人av一区二区 | 欧美色就是色 | 国产成人亚洲精品自产在线 | 性感美女在线观看 | 刘亦菲毛片一区二区三区 | 欧洲av无码放荡人妇网站 | 动漫av一区 | 97超碰在线免费 | 国产日韩中文字幕 | 国产女合集 | 在线精品视频免费观看 | 日韩在线欧美在线 | 免费小视频 | 国产美女精品一区二区三区 | 日日碰狠狠添天天爽 | 激情区| 成 人 免费 黄 色 | 欧美性天天 | 在线观看国产亚洲 | 丁香一区二区三区 |