用c语言如何获取系统当前时间的函数

用c语言如何获取系统当前时间的函数,第1张

方法一,#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/

}

方法二#include <stdioh>

#include <timeh>

int main ()

{

time_t t

struct tm  lt;    time (&t);//获取Unix时间戳。

lt = localtime (&t);//转为时间结构。

printf ( "%d/%d/%d %d:%d:%d\n",lt->tm_year+1900, lt->tm_mon, lt->tm_mday,

lt->tm_hour, lt->tm_min, lt->tm_sec);//输出结果

return 0;}

扩展资料

1、CTimeSpan类

如果想计算两段时间的差值,可以使用CTimeSpan类,具体使用方法如下:

CTime t1( 1999, 3, 19, 22, 15, 0 );

CTime t = CTime::GetCurrentTime();

CTimeSpan span=t-t1; //计算当前系统时间与时间t1的间隔

int iDay=spanGetDays(); //获取这段时间间隔共有多少天

int iHour=spanGetTotalHours(); //获取总共有多少小时

int iMin=spanGetTotalMinutes();//获取总共有多少分钟

int iSec=spanGetTotalSeconds();//获取总共有多少秒

2、timeb()函数

_timeb定义在SYS\TIMEBH,有四个fields

dstflag

millitm

time

timezone

void _ftime( struct _timeb timeptr );

struct _timeb timebuffer;

_ftime( &timebuffer );

参考资料来源:百度百科:time函数

总结一下jmeter的时间函数使用:

1、__time :获取时间戳、格式化时间

1)${__time(,)} :获取当前时间戳(当前时间的毫秒数),默认精确到毫秒级别,13位数,如:1650356704900

2)${__time(,time_ms)} :获取当前的时间戳并存入参数 time_ms 中

3)${__time(/1000,)} :获取当前时间的秒数,精确到秒级别,10位数,如:1650356723

4)${__time(/1000,time_s)} :获取当前时间的秒数并存入参数 time_s 中

5)${__time(yyyy-MM-dd,)} :获取当前日期,如:2022-04-19

6)${__time(yyyy-MM-dd,time_date)} :获取当前日期并存入参数 time_date 中

7)${__time(yyyy-MM-dd HH:mm:ss,)} :获取当前时间,固定格式,如:2022-04-19 16:21:30

8)${__time(yyyyMMddHHmmss,)} :获取当前时间,固定格式,如:20220419162107

9)${__time(YMDHMS,)} :获取当前时间,固定格式,如:20220419-161941

10)${__time(yyyy-MM-dd HH:mm:ss:SSS,)} :获取当前时间,固定格式,如:2022-04-19 16:23:02:876

11)${__time(yyyy-MM-dd'T'HH:mm:ssSSS'Z',)} :获取当前时间,固定格式,如:2022-04-19T16:27:16810Z

12)${__intSum(${__time(yyyy)},1,)}:在当前年上+1年

13)${__intSum(${__time(MM)},1,)} :在当前月上+1月

14)${__intSum(${__time(dd)},1,)} :在当前日上+1日

2、__TimeShift(格式,日期,移位,语言环境,变量) :可对日期进行移位加减 *** 作

1)PT10345 解析为:加 10345 秒,如:当前时间为 2022-04-19 16:55:33:318 ,${__timeShift(yyyy-MM-dd HH:mm:ss,,PT12345,,)} 的执行结果为 2022-04-19 16:55:43:663

2)PT15M 解析为:加 15 分钟,如:当前时间为 2022-04-19 16:58:28 ,${__timeShift(yyyy-MM-dd HH:mm:ss,,PT15M,,)} 的执行结果为 2022-04-19 17:13:28

3)PT10H 解析为:加 10 小时,如:当前时间为 2022-04-19 17:00:03 ,${__timeShift(yyyy-MM-dd HH:mm:ss,,PT10H,,)} 的执行结果为 2022-04-20 03:00:03

4)P2DT3H4M 解析为:加2天3小时4分钟,如:当前时间为 2022-04-19 17:01:35 ,${__timeShift(yyyy-MM-dd HH:mm:ss,,P2DT3H4M,,)} 的执行结果为 2022-04-21 20:05:35

5)PT-6H3M 解析为:减6小时加3分钟,如:当前时间为 2022-04-19 17:04:14 ,${__timeShift(yyyy-MM-dd HH:mm:ss,,PT-6H3M,,)} 的执行结果为 2022-04-19 11:07:14

6)-PT6H3M 解析为:减6小时3分钟,如:当前时间为 2022-04-19 17:05:09 , ${__timeShift(yyyy-MM-dd HH:mm:ss,,-PT6H3M,,)} 的执行结果为 2022-04-19 11:02:09

3、__RandomDate :时间短哪随机取值时间

1)${__RandomDate(yyyy-MM-dd,2020-06-02,2022-04-19,,)} 会在2020-06-02~2022-04-19之间任取一个日期并返回

原文地址:>

C 库函数 double difftime(time_t time1, time_t time2) 返回 time1 和 time2 之间相差的秒数 (time1 - time2)。

下面是示例代码:

struct tm tm2;

memset(&tm2, 0, sizeof(struct tm));

tm2tm_year = 2030 - 1900;

tm2tm_mon = 10;

tm2tm_mday = 1;

struct tm tm1;

memset(&tm1, 0, sizeof(struct tm));

tm1tm_year = 1970 - 1900;

tm2tm_mon = 1;

tm2tm_mday = 1;

time_t cost = difftime(mktime(&tm2), mktime(&tm1));

printf("cost = %ld\n", cost);

请采纳,谢谢

JS原生态的针对日期时间的方法中,没有直接将分和秒转换为毫秒的。

它的getMilliSeconds也是获取当前时间的毫秒数。所以我们需要自己做一个转换。

可以用getMinutes和getSeconds先获取到相应的分和秒,然后将分601000+秒 1000即可转换了。

Js获取当前日期时间及其它 *** 作

var myDate = new Date();

myDategetYear(); //获取当前年份(2位)

myDategetFullYear(); //获取完整的年份(4位,1970-)

myDategetMonth(); //获取当前月份(0-11,0代表1月)

myDategetDate(); //获取当前日(1-31)

myDategetDay(); //获取当前星期X(0-6,0代表星期天)

myDategetTime(); //获取当前时间(从197011开始的毫秒数)

myDategetHours(); //获取当前小时数(0-23)

myDategetMinutes(); //获取当前分钟数(0-59)

myDategetSeconds(); //获取当前秒数(0-59)

myDategetMilliseconds(); //获取当前毫秒数(0-999)

myDatetoLocaleDateString(); //获取当前日期

var mytime=myDatetoLocaleTimeString(); //获取当前时间

myDatetoLocaleString( ); //获取日期与时间

日期时间脚本库方法列表

DateprototypeisLeapYear 判断闰年

DateprototypeFormat 日期格式化

DateprototypeDateAdd 日期计算

DateprototypeDateDiff 比较日期差

DateprototypetoString 日期转字符串

DateprototypetoArray 日期分割为数组

DateprototypeDatePart 取日期的部分信息

DateprototypeMaxDayOfDate 取日期所在月的最大天数

DateprototypeWeekNumOfYear 判断日期所在年的第几周

StringToDate 字符串转日期型

IsValidDate 验证日期有效性

CheckDateTime 完整日期时间检查

daysBetween 日期天数差

js代码:

//---------------------------------------------------

// 判断闰年

//---------------------------------------------------

DateprototypeisLeapYear = function()

{

return (0==thisgetYear()%4&&((thisgetYear()%100!=0)||(thisgetYear()%400==0)));

}

//---------------------------------------------------

// 日期格式化

// 格式 YYYY/yyyy/YY/yy 表示年份

// MM/M 月份

// W/w 星期

// dd/DD/d/D 日期

// hh/HH/h/H 时间

// mm/m 分钟

// ss/SS/s/S 秒

//---------------------------------------------------

DateprototypeFormat = function(formatStr)

{

var str = formatStr;

var Week = ['日','一','二','三','四','五','六'];

str=strreplace(/yyyy|YYYY/,thisgetFullYear());

str=strreplace(/yy|YY/,(thisgetYear() % 100)>9(thisgetYear() % 100)toString():'0' + (thisgetYear() % 100));

str=strreplace(/MM/,thisgetMonth()>9thisgetMonth()toString():'0' + thisgetMonth());

str=strreplace(/M/g,thisgetMonth());

str=strreplace(/w|W/g,Week[thisgetDay()]);

str=strreplace(/dd|DD/,thisgetDate()>9thisgetDate()toString():'0' + thisgetDate());

str=strreplace(/d|D/g,thisgetDate());

str=strreplace(/hh|HH/,thisgetHours()>9thisgetHours()toString():'0' + thisgetHours());

str=strreplace(/h|H/g,thisgetHours());

str=strreplace(/mm/,thisgetMinutes()>9thisgetMinutes()toString():'0' + thisgetMinutes());

str=strreplace(/m/g,thisgetMinutes());

str=strreplace(/ss|SS/,thisgetSeconds()>9thisgetSeconds()toString():'0' + thisgetSeconds());

str=strreplace(/s|S/g,thisgetSeconds());

return str;

}

//+---------------------------------------------------

//| 求两个时间的天数差 日期格式为 YYYY-MM-dd

//+---------------------------------------------------

function daysBetween(DateOne,DateTwo)

{

var OneMonth = DateOnesubstring(5,DateOnelastIndexOf ('-'));

var OneDay = DateOnesubstring(DateOnelength,DateOnelastIndexOf ('-')+1);

var OneYear = DateOnesubstring(0,DateOneindexOf ('-'));

var TwoMonth = DateTwosubstring(5,DateTwolastIndexOf ('-'));

var TwoDay = DateTwosubstring(DateTwolength,DateTwolastIndexOf ('-')+1);

var TwoYear = DateTwosubstring(0,DateTwoindexOf ('-'));

var cha=((Dateparse(OneMonth+'/'+OneDay+'/'+OneYear)- Dateparse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);

return Mathabs(cha);

}

//+---------------------------------------------------

//| 日期计算

//+---------------------------------------------------

DateprototypeDateAdd = function(strInterval, Number) {

var dtTmp = this;

switch (strInterval) {

case 's' :return new Date(Dateparse(dtTmp) + (1000 Number));

case 'n' :return new Date(Dateparse(dtTmp) + (60000 Number));

case 'h' :return new Date(Dateparse(dtTmp) + (3600000 Number));

case 'd' :return new Date(Dateparse(dtTmp) + (86400000 Number));

case 'w' :return new Date(Dateparse(dtTmp) + ((86400000 7) Number));

case 'q' :return new Date(dtTmpgetFullYear(), (dtTmpgetMonth()) +

Number3, dtTmpgetDate(), dtTmpgetHours(), dtTmpgetMinutes(),

dtTmpgetSeconds());

case 'm' :return new Date(dtTmpgetFullYear(), (dtTmpgetMonth()) +

Number, dtTmpgetDate(), dtTmpgetHours(), dtTmpgetMinutes(),

dtTmpgetSeconds());

case 'y' :return new Date((dtTmpgetFullYear() + Number),

dtTmpgetMonth(), dtTmpgetDate(), dtTmpgetHours(), dtTmpgetMinutes(),

dtTmpgetSeconds());

}

}

//+---------------------------------------------------

//| 比较日期差 dtEnd 格式为日期型或者有效日期格式字符串

//+---------------------------------------------------

DateprototypeDateDiff = function(strInterval, dtEnd) {

var dtStart = this;

if (typeof dtEnd == 'string' )//如果是字符串转换为日期型

{

dtEnd = StringToDate(dtEnd);

}

switch (strInterval) {

case 's' :return parseInt((dtEnd - dtStart) / 1000);

case 'n' :return parseInt((dtEnd - dtStart) / 60000);

case 'h' :return parseInt((dtEnd - dtStart) / 3600000);

case 'd' :return parseInt((dtEnd - dtStart) / 86400000);

case 'w' :return parseInt((dtEnd - dtStart) / (86400000 7));

case 'm' :return (dtEndgetMonth()+1)+((dtEndgetFullYear()-dtStartgetFullYear())12) - (dtStartgetMonth()+1);

case 'y' :return dtEndgetFullYear() - dtStartgetFullYear();

}

}

//+---------------------------------------------------

//| 日期输出字符串,重载了系统的toString方法

//+---------------------------------------------------

DateprototypetoString = function(showWeek)

{

var myDate= this;

var str = myDatetoLocaleDateString();

if (showWeek)

{

var Week = ['日','一','二','三','四','五','六'];

str += ' 星期' + Week[myDategetDay()];

}

return str;

}

//+---------------------------------------------------

//| 日期合法性验证

//| 格式为:YYYY-MM-DD或YYYY/MM/DD

//+---------------------------------------------------

function IsValidDate(DateStr)

{

var sDate=DateStrreplace(/(^\s+|\s+$)/g,''); //去两边空格;

if(sDate=='') return true;

//如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为''

//数据库中,合法日期可以是:YYYY-MM/DD(2003-3/21),数据库会自动转换为YYYY-MM-DD格式

var s = sDatereplace(/[\d]{ 4,4 }[\-/]{ 1 }[\d]{ 1,2 }[\-/]{ 1 }[\d]{ 1,2 }/g,'');

if (s=='') //说明格式满足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D

{

var t=new Date(sDatereplace(/\-/g,'/'));

var ar = sDatesplit(/[-/:]/);

if(ar[0] != tgetYear() || ar[1] != tgetMonth()+1 || ar[2] != tgetDate())

{

//alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');

return false;

}

}

else

{

//alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');

return false;

}

return true;

}

//+---------------------------------------------------

//| 日期时间检查

//| 格式为:YYYY-MM-DD HH:MM:SS

//+---------------------------------------------------

function CheckDateTime(str)

{

var reg = /^(\d+)-(\d{ 1,2 })-(\d{ 1,2 }) (\d{ 1,2 }):(\d{ 1,2 }):(\d{ 1,2 })$/;

var r = strmatch(reg);

if(r==null)return false;

r[2]=r[2]-1;

var d= new Date(r[1],r[2],r[3],r[4],r[5],r[6]);

if(dgetFullYear()!=r[1])return false;

if(dgetMonth()!=r[2])return false;

if(dgetDate()!=r[3])return false;

if(dgetHours()!=r[4])return false;

if(dgetMinutes()!=r[5])return false;

if(dgetSeconds()!=r[6])return false;

return true;

}

//+---------------------------------------------------

//| 把日期分割成数组

//+---------------------------------------------------

DateprototypetoArray = function()

{

var myDate = this;

var myArray = Array();

myArray[0] = myDategetFullYear();

myArray[1] = myDategetMonth();

myArray[2] = myDategetDate();

myArray[3] = myDategetHours();

myArray[4] = myDategetMinutes();

myArray[5] = myDategetSeconds();

return myArray;

}

//+---------------------------------------------------

//| 取得日期数据信息

//| 参数 interval 表示数据类型

//| y 年 m月 d日 w星期 ww周 h时 n分 s秒

//+---------------------------------------------------

DateprototypeDatePart = function(interval)

{

var myDate = this;

var partStr='';

var Week = ['日','一','二','三','四','五','六'];

switch (interval)

{

case 'y' :partStr = myDategetFullYear();break;

case 'm' :partStr = myDategetMonth()+1;break;

case 'd' :partStr = myDategetDate();break;

case 'w' :partStr = Week[myDategetDay()];break;

case 'ww' :partStr = myDateWeekNumOfYear();break;

case 'h' :partStr = myDategetHours();break;

case 'n' :partStr = myDategetMinutes();break;

case 's' :partStr = myDategetSeconds();break;

}

return partStr;

}

以上就是关于用c语言如何获取系统当前时间的函数全部的内容,包括:用c语言如何获取系统当前时间的函数、Jmeter函数-时间函数多种用法、c++怎么获取某个时间点到1970.1.1经过的秒数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9429899.html

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

发表评论

登录后才能评论

评论列表(0条)

保存