91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【技巧】將gettimeofday獲取可顯示的字符串時間?

嵌入式物聯(lián)網(wǎng)開發(fā) ? 來源:嵌入式物聯(lián)網(wǎng)開發(fā) ? 作者:嵌入式物聯(lián)網(wǎng)開發(fā) ? 2022-08-31 13:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大家在平時的項目中,一定經(jīng)常面臨打日志信息的問題,在打日志這個問題上,大家有時一定會非常關(guān)注【時間戳】這個信息點。

想必大家也很經(jīng)常使用【gettimeofday】接口來獲取當(dāng)前的系統(tǒng)時間,但是很遺憾的是,它獲取的時間信息是存儲在一個叫strcut timeval的結(jié)構(gòu)體中。那么如何將這個結(jié)構(gòu)體的時間信息轉(zhuǎn)換為可是顯示的時間字符串呢?

比如顯示 "2018-12-10 20:52:00"。本文就將給你答案,直接附上代碼:

#include 
#include 
#include 
#include 

//由struct timeval結(jié)構(gòu)體數(shù)據(jù)(由gettimeofday獲取到的)轉(zhuǎn)換成可顯示的時間字符串
static char * get_local_time(char *time_str, int len, struct timeval *tv)
{
    struct tm* ptm;
    char time_string[40];
    long milliseconds;
    
    ptm = localtime (&(tv->tv_sec));

    /* 格式化日期和時間,精確到秒為單位。*/
    //strftime (time_string, sizeof(time_string), "%Y/%m/%d %H:%M:%S", ptm); //輸出格式為: 2018/12/09 10:48:31.391
    //strftime (time_string, sizeof(time_string), "%Y|%m|%d %H-%M-%S", ptm); //輸出格式為: 2018|12|09 10-52-28.302
    //strftime (time_string, sizeof(time_string), "%Y-%m-%d %H:%M:%S", ptm); //輸出格式為: 2018-12-09 10:52:57.200
    strftime (time_string, sizeof(time_string), "%Y\\%m\\%d %H-%M-%S", ptm); //輸出格式為: 2018\12\09 10-52-28.302

    /* 從微秒計算毫秒。*/
    milliseconds = tv->tv_usec / 1000;

    /* 以秒為單位打印格式化后的時間日期,小數(shù)點后為毫秒。*/
    snprintf (time_str, len, "%s.%03ld", time_string, milliseconds);

    return time_str;
}

int main(int argc, const char **argv)
{
    char local_time_str[128];
    char *p = NULL;
    struct timeval tv;

    gettimeofday(&tv, NULL);
    p = get_local_time(local_time_str, sizeof(local_time_str), &tv);
    printf("Get local time: \n%s\n", p);

    return 0;
}

編譯代碼,輸入:

gcc -o time_string_format time_string_format.c

測試結(jié)果如下:

img

上文的示例代碼中,給出了好幾種打印時間戳格式的示例,筆者只演示了其他的一種,其他的幾種,有待讀者親自去驗證。驗證的過程中,如果有發(fā)現(xiàn)什么問題,可隨時與我聯(lián)系。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    590

    瀏覽量

    22287
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70743
  • 結(jié)構(gòu)體
    +關(guān)注

    關(guān)注

    1

    文章

    131

    瀏覽量

    11115
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    字符串的表示

    字符串的表示  隨著計算機在文字處理與信息管理中的廣泛應(yīng)用, 字符串已成為最常用的數(shù)據(jù)類型之一, 許多計算機中都提供字符串操作功能, 一些計算機還給出讀寫字
    發(fā)表于 10-13 17:11 ?3260次閱讀
    <b class='flag-5'>字符串</b>的表示

    字符字符串顯示原理

    字符字符串顯示原理     1.字符的表示方法    現(xiàn)代計算機不僅處理數(shù)值領(lǐng)域的問題,而且處理大量非數(shù)值領(lǐng)域的問題。這樣一來,必然要
    發(fā)表于 04-13 11:38 ?1.1w次閱讀

    Proteus之字符式LCD顯示字符串

    Proteus之字符式LCD顯示字符串,很好的Proteus資料,快來下載不學(xué)習(xí)吧。
    發(fā)表于 04-18 17:11 ?0次下載

    字符串移位包含的問題解決方案

    問題:給定字符串s和t,判斷是否字符串t能通過s移位后的字符串所包含。 方法一 最簡單的方法就是s進行循環(huán)移位,再判斷移位后的
    發(fā)表于 11-29 10:05 ?1155次閱讀

    LabVIEW的常用字符串操作教程免費下載

    字符串操作與信息的保存和顯示密不可分,而字符串操作運用也是LabⅥEW程序設(shè)計的一個難點,因此熟練使用字符串操作函數(shù)是使用LabⅥEW進行編程所必備的能力之
    發(fā)表于 08-21 14:51 ?26次下載
    LabVIEW的常用<b class='flag-5'>字符串</b>操作教程免費下載

    什么是復(fù)制字符串?Python如何復(fù)制字符串

    。 在上一篇文章《你真的知道Python的字符串怎么用嗎?》里,我突發(fā)奇想,字符串跟列表做了比較,然后發(fā)現(xiàn)字符串竟然沒有復(fù)制的方法。當(dāng)時沒有細想,只說要擱置疑問。過后,有好學(xué)的小伙伴
    發(fā)表于 11-25 10:32 ?3206次閱讀

    字符串函數(shù)重寫練習(xí)

    字符串函數(shù)重寫練習(xí):字符串比較、字符串拼接、字符串查找、字符串拷貝、內(nèi)存比較、內(nèi)存拷貝、內(nèi)存初始化、內(nèi)存比較、二維數(shù)組定義及基本使用、位運算
    的頭像 發(fā)表于 05-05 15:02 ?2234次閱讀

    字符串操作

    labview字符串操作
    發(fā)表于 06-28 15:09 ?2次下載

    C語言總結(jié)_字符串全方位練習(xí)

    C語言字符串全方位練習(xí),涉及知識點:字符串解析、大小寫判斷、字符串插入、字符串刪除、字符串排序、字符串
    的頭像 發(fā)表于 08-14 09:41 ?1904次閱讀

    一文詳解JavaScript字符串

    JavaScript字符串是原始值。此外,字符串是不可變的。這意味著如果你修改一個字符串,你總是會得到一個新的字符串。原始字符串不會被改變。
    的頭像 發(fā)表于 12-08 16:36 ?1482次閱讀

    python字符串有哪些特定方法

    python字符串序列操作也適用于列表和元組。 python字符串還有獨有方法,即字符串對象的函數(shù),其他對象不可調(diào)用,只有字符串對象可調(diào)用。
    的頭像 發(fā)表于 02-23 15:02 ?962次閱讀

    字符串的相關(guān)知識

    TCL 中的數(shù)據(jù)類型只有一種:字符串。這些字符串可以是字母、數(shù)字、布爾值、標點符號等特殊字符的組合。在某些特殊命令的作用下,字符串可以向其他數(shù)據(jù)類型轉(zhuǎn)換。下面
    的頭像 發(fā)表于 03-29 11:41 ?1408次閱讀

    labview字符串如何轉(zhuǎn)換為16進制字符串

    在LabVIEW中,字符串轉(zhuǎn)換為16進制字符串是一個常見的需求,尤其是在處理數(shù)據(jù)通信和硬件接口時。LabVIEW提供了多種方法來實現(xiàn)這一轉(zhuǎn)換,包括使用內(nèi)置函數(shù)、編寫VI(Virtual
    的頭像 發(fā)表于 09-04 15:54 ?5329次閱讀

    字符串反轉(zhuǎn)的實現(xiàn)方式

    在編程中,字符串反轉(zhuǎn)是一個基礎(chǔ)而重要的操作,它涉及到一個字符串中的字符順序顛倒過來。這個操作在多種編程語言中都有不同的實現(xiàn)方式,本文探討
    的頭像 發(fā)表于 01-07 15:27 ?817次閱讀

    字符串在編程中的應(yīng)用實例

    字符串在編程中有著廣泛的應(yīng)用,它們被用于表示文本數(shù)據(jù)、處理用戶輸入、構(gòu)建動態(tài)內(nèi)容等。以下是一些字符串在編程中的應(yīng)用實例: 1. 用戶輸入與輸出 用戶輸入 :程序通常需要從用戶那里獲取輸入,這些輸入通
    的頭像 發(fā)表于 01-07 15:33 ?716次閱讀
    主站蜘蛛池模板: jiucao视频在线观看 | 欧美午夜免费观看福利片 | 九九九精品午夜在线观看 | 亚洲第一福利网站 | 免费毛片网站在线观看 | 四虎永久免费地址在线网站 | www色午夜| 4438x成人全国 | 国产―笫一页―浮力影院xyz | 欧美夜夜夜 | 啪啪伊人网 | 午夜影视免费完整高清在线观看网站 | 四虎影院永久地址 | 日韩一级一欧美一级国产 | 欧美精品 在线播放 | 天天狠天天天天透在线 | 国产一级一片免费播放视频 | 爱情社保片鲁丝片一区 | 天堂在线观看视频 | 中文字幕一二三区乱码老 | 好大好猛好爽好深视频免费 | 国内精品久久久久久久久野战 | 欧美三级大片在线观看 | 国产三级毛片视频 | 香蕉操| 9久热久re爱免费精品视频 | 久久都是精品 | yy8090韩国日本三理论免费 | 国产精品免费拍拍拍 | 天堂网在线.www天堂在线资源 | 婷婷成人丁香五月综合激情 | 夜夜橹橹网站夜夜橹橹 | 豆国产97在线 | 欧洲 | 欧美性猛交xxxx乱大交 | 免费观看一级一片 | 四虎精品成人a在线观看 | 狠狠狠狼鲁欧美综合网免费 | 国产伦精品一区二区三区在线观看 | 神马午夜第九 | 亚洲第一免费视频 | 啪啪国产视频 |