看过来,看过来 C语言获取系统时间的几种方式

看过来,看过来 C语言获取系统时间的几种方式,第1张

我们在写C语言程序的时候,有的时候会用到读取本机的时间和日期,怎么做呢?其实很简单的,下面简单说一下:

C语言中读取系统时间的函数为time(),其函数原型为:#include <timeh>time_t time( time_t ) ;

time_t就是long,函数返回从1970年1月1日(MFC是1899年12月31日)0时0分0秒,到现在的的秒数。

可以调用ctime()函数进行时间转换输出:char ctime(const time_t timer);

将日历时间转换成本地时间,按年月日格式,进行输出,如:Wed Sep 23 08:43:03 2015C语言还提供了将秒数转换成相应的时间结构的函数:

struct tm gmtime(const time_t timer); //将日历时间转化为世界标准时间(即格林尼治时间)

struct tm localtime(const time_t timer); //将日历时间转为本地时间将通过time()函数返回的值,转成时间结构structtm :

struct tm {int tm_sec; / 秒 – 取值区间为[0,59] /

int tm_min; / 分 - 取值区间为[0,59] /

int tm_hour; / 时 - 取值区间为[0,23] /

int tm_mday; / 一个月中的日期 - 取值区间为[1,31] /

int tm_mon; / 月份(从一月开始,0代表一月) - 取值区间为[0,11] /

int tm_year; / 年份,其值等于实际年份减去1900 /

int tm_wday; / 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 /

int tm_yday; / 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 /

int tm_isdst; / 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。/};

编程者可以根据程序功能的情况,灵活的进行日期的读取与输出了。

下面给出一段简单的代码:

#include<timeh>

int main()

{

    time_t timep;

    struct tm p;

    time (&timep);

    p=gmtime(&timep);

    printf("%d\n",p->tm_sec); /获取当前秒/

    printf("%d\n",p->tm_min); /获取当前分/

    printf("%d\n",8+p->tm_hour);/获取当前时,这里获取西方的时间,刚好相差八个小时/

    printf("%d\n",p->tm_mday);/获取当前月份日数,范围是1-31/

    printf("%d\n",1+p->tm_mon);/获取当前月份,范围是0-11,所以要加1/

    printf("%d\n",1900+p->tm_year);/获取当前年份,从1900开始,所以要加1900/

    printf("%d\n",p->tm_yday); /从今年1月1日算起至今的天数,范围为0-365/

}

一、手工录入

直接按住Alt+ ↓  即可快速生成

: >

^!d:: ;Ctrl+alt+d

FormatTime, now_date, %A_Now%, yyyy/MM/dd ;格式化当前时间

Send, % now_date ;发送

Return

日期格式 (区分大小写)

d    不含前导零的天数 (1 - 31)  

dd    含前导零的天数 (01 – 31)  

ddd    在当前的用户语言里星期几的简称 (例如 Mon)  

dddd    在当前的用户语言里星期几的全称 (例如 Monday)  

M    不含前导零的月份 (1 – 12)  

MM    含前导零的月份 (01 – 12)  

MMM    在当前的用户语言里月份的简称 (例如 Jan)  

MMMM    在当前的用户语言里月份的全称 (例如 January)  

y    不含世纪的年份, 不含前导零 (0 – 99)  

yy    不含世纪的年份, 含前导零 (00 - 99)  

yyyy    含世纪的年份 例如: 2005  

gg    当前用户区域设置的时代/纪元字符串 (如果没有则为空)  

时间格式 (区分大小写)

h    不含前导零的小时数; 十二小时制格式 (1 - 12)  

hh    含前导零的小时数; 十二小时制格式 (01 - 12)  

H    不含前导零的小时数; 二十四小时制格式 (0 - 23)  

HH    含前导零的小时数; 二十四小时制格式 (00 - 23)  

m    不含前导零的分钟数 (0 – 59)  

mm    含前导零的分钟数 (00 – 59)  

s    不含前导零的秒数 (0 – 59)  

ss    含前导零的秒数 (00 – 59)  

t    单字符时间标记, 例如 A 或 P (取决于区域设置)  

tt    多字符时间标记, 例如 AM 或 PM (取决于区域设置)  

function getFormatTime() {

    var date = new Date();

    var hournum = dategetHours();

    var minnum = (dategetMinutes() < 10  '0' + dategetMinutes() : dategetMinutes());

    var time = hournum + ':' + minnum;

    return time;

}

var timenow = getFormatTime();

$('#aaa')html(timenow);

用了jq,你可以直接用原生的获取节点,一样的。

C语言有2个获取时间的函数,分别是time()和localtime(),time()函数返回unix时间戳-即从1970年1月1日0:00开始所经过得秒数,而localtime()函数则是将这个秒数转化为当地的具体时间(年月日时分秒)

这里时间转化要用到一个“struct tm”的结构体,结构如下:

struct tm {

int tm_sec;       / 秒 – 取值区间为[0,59] /

int tm_min;       / 分 - 取值区间为[0,59] /

int tm_hour;      / 时 - 取值区间为[0,23] /

int tm_mday;     / 一个月中的日期 - 取值区间为[1,31] /

int tm_mon;     / 月份(从一月开始,0代表一月) - 取值区间为[0,11] /

int tm_year;     / 年份,其值等于实际年份减去1900 /

int tm_wday;    / 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一 /

int tm_yday;    / 从每年1月1日开始的天数– 取值区间[0,365],其中0代表1月1日 /

int tm_isdst;    / 夏令时标识符,夏令时tm_isdst为正;不实行夏令时tm_isdst为0 / 

};

示例代码:

#include<stdioh>

#include<timeh>

int getTime()

{

time_t t;                   //保存unix时间戳的变量 ,长整型

struct tm lt;           //保存当地具体时间的变量

int p;                     

time(&t);                // 等价于 t =time(NULL);获取时间戳

lt = localtime(&t);  //转化为当地时间

p = lt->tm_sec;     //将秒数赋值给p

return p;

}

应该就是这样啦~

以下是使用 HTML 和 JavaScript 制作一个带有天、时、分、秒的时间表的示例:

<!DOCTYPE html>

<html>

<head>

<title>时间表</title>

<script>

// 获取当前日期和时间

function getCurrentTime() {

var now = new Date();

var day = nowgetDate();

var month = nowgetMonth() + 1;

var year = nowgetFullYear();

var hours = nowgetHours();

var minutes = nowgetMinutes();

var seconds = nowgetSeconds();

// 将单个数字的小时、分钟和秒前面添加零

hours = padZero(hours);

minutes = padZero(minutes);

seconds = padZero(seconds);

// 更新时间表的文本内容

documentgetElementById("day")textContent = day;

documentgetElementById("month")textContent = month;

documentgetElementById("year")textContent = year;

documentgetElementById("hours")textContent = hours;

documentgetElementById("minutes")textContent = minutes;

documentgetElementById("seconds")textContent = seconds;

}

// 在数字前面添加零,如果数字小于10

function padZero(num) {

return (num < 10 "0" : "") + num;

}

// 每秒钟更新一次时间

setInterval(getCurrentTime, 1000);

</script>

</head>

<body onload="getCurrentTime()">

<h1>时间表</h1>

<p>日期: <span id="day"></span>/<span id="month"></span>/<span id="year"></span></p>

<p>时间: <span id="hours"></span>:<span id="minutes"></span>:<span id="seconds"></span></p>

</body>

</html>

这段代码创建了一个简单的 HTML 页面,其中包含了一个时间表,显示了当前的日期和时间。JavaScript 部分使用了 Date 对象来获取当前的日期和时间,并通过将其内容更新到页面上的相应元素中来实现动态更新。setInterval 函数用于每秒钟调用一次 getCurrentTime 函数,以保持时间的实时更新。

请注意,这里使用了 getElementById 函数来获取页面上的元素,并通过 textContent 属性来设置元素的文本内容。这只是一个简单的示例,实际上在实际项目中,您可能需要更复杂的逻辑来处理日期和时间的格式化、时区的考虑等。

function nowTime(ev,type){ 

     / 

       ev:显示时间的元素 

       type:时间显示模式若传入12则为12小时制,不传入则为24小时制 

      /

     //年月日时分秒 

     var Y,M,D,W,H,I,S; 

     //月日时分秒为单位时前面补零 

     function fillZero(v){ 

         if(v<10){v=0+v;} 

         return v; 

     } 

     (function(){ 

         var d=new Date(); 

         var Week=[星期天,星期一,星期二,星期三,星期四,星期五,星期六]; 

         Y=dgetFullYear(); 

         M=fillZero(dgetMonth()+1); 

         D=fillZero(dgetDate()); 

         W=Week[dgetDay()]; 

         H=fillZero(dgetHours()); 

         I=fillZero(dgetMinutes()); 

         S=fillZero(dgetSeconds()); 

         //12小时制显示模式 

         if(type && type==12){ 

             //若要显示更多时间类型诸如中午凌晨可在下面添加判断 

             if(H<=12){ 

                 H=上午 +H; 

             }else if(H>12 && H<24){ 

                 H-=12; 

                 H=下午 +fillZero(H); 

             }else if(H==24){ 

                 H=下午 00; 

             } 

         } 

         evinnerHTML=Y+年+M+月+D+日 + +W+ +H+:+I+:+S; 

         //每秒更新时间 

         setTimeout(argumentscallee,1000); 

     })(); 

}

以上就是关于看过来,看过来 C语言获取系统时间的几种方式全部的内容,包括:看过来,看过来 C语言获取系统时间的几种方式、08单元格下拉菜单-数据验证的进阶使用、[autohotkey]脚本如何获取系统的当前时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9784639.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存