`
sony-soft
  • 浏览: 1019951 次
文章分类
社区版块
存档分类
最新评论

mktime 用于将年月日时分秒转换为秒

 
阅读更多

/* Converts Gregorian date to seconds since 1970-01-01 00:00:00.
* Assumes input in normal date format, i.e. 1980-12-31 23:59:59
* => year=1980, mon=12, day=31, hour=23, min=59, sec=59.
*
* [For the Julian calendar (which was used in Russia before 1917,
* Britain & colonies before 1752, anywhere else before 1582,
* and is still in use by some communities) leave out the
* -year/100+year/400 terms, and add 10.]
*
* This algorithm was first published by Gauss (I think).
*
* WARNING: this function will overflow on 2106-02-07 06:28:16 on
* machines where long is 32-bit! (However, as time_t is signed, we
* will already get problems at other places on 2038-01-19 03:14:08)
*/
unsigned long
mktime(const unsigned int year0, const unsigned int mon0,
const unsigned int day, const unsigned int hour,
const unsigned int min, const unsigned int sec)
{
unsigned int mon = mon0, year = year0;

/* 1..12 -> 11,12,1..10 */
if (0 >= (int) (mon -= 2)) {
mon += 12;/* Puts Feb last since it has leap day */
year -= 1;
}

return ((((unsigned long)
(year/4 - year/100 + year/400 + 367*mon/12 + day) +
year*365 - 719499
)*24 + hour /* now have hours */
)*60 + min /* now have minutes */
)*60 + sec; /* finally seconds */
}

要比较两个时间的大小

time1 = mktime(y1,m1,d1,h1,m1,s1);

time2 = mktime(y2,m2,d2,h2,m2,s2);

interval = time1 - time2

分享到:
评论

相关推荐

    mktime函数实现

    mktime函数的纯C语言实现,实现北京时间转换为时间戳。单片机用直接复制粘贴就行了。 。

    ACE_OS::mktime函数源代码

    goto err_mktime; /* * Adjust month value so it is in the range 0 - 11. This is because * we don't know how many days are in months 12, 13, 14, etc. */ if ( (tb->tm_mon ) || (tb->tm_mon > 11) ...

    python将MongoDB里的ObjectId转换为时间戳的方法

    本文实例讲述了python将MongoDB里的ObjectId转换为时间戳的方法。分享给大家供大家参考。具体分析如下: MongoDB里的_id字段前四位是时间戳的16进制表示,通过Python可以很容易从_id中提取出时间戳来 def timestamp...

    在C语言中转换时间的基本方法介绍

    函数说明:mktime()用来将参数timeptr 所指的tm 结构数据转换成从公元1970 年1 月1 日0 时0 分0 秒算起至今的UTC 时间所经过的秒数。 返回值:返回经过的秒数。 范例:用time()取得时间 (秒数), 利用localtime() ...

    libfast-mktime:mktime(3) 库内插器针对同一日期内的多次重复调用进行了优化

    这是对 mktime(3) 的微优化,在最好的情况下将其加速约 10 倍到 86 倍,在最坏的情况下会产生轻微的影响。 动机 系统 mktime(3) 处理时区、tzset()、闰年、输入归一化,加上明显的日期计算,所有这些都可能需要一些...

    Linux C 函数参考.zip

    mktime(将时间结构数据转换成经过的秒数) settimeofday(设置目前时间) time(取得目前的时间) bcmp(比较内存内容) bcopy(拷贝内存内容) bzero(将一段内存内容全清为零) index(查找字符串中第一个出现的...

    在Python中操作时间之mktime()方法的使用教程

    如果输入值不能表示为有效的时间,那么OverflowError或ValueError错误将被引发。 Syntax 以下是mktime()方法的语法: time.mktime(t) 参数 t — 这是struct_time或满9元组。 返回值 此方法返回一个浮点数,对于...

    PHP中time(),date(),mktime()区别介绍

    checkdate : 验证日期的正确性。date : 将服务器的时间格式化。strftime : 将服务器的时间本地格式化。getdate : 获得时间及日期信息。...microtime : 取得目前时间的 UNIX 时间戳记的百万分之一秒值。

    python utc datetime转换为时间戳的方法

    最近python代码遇到了一个神奇的需求, 就是如果将python utc datetime转换为时间戳. 百度找到都是使用time.mktime(xxx) 但是看到官网文档里写 time.mktime(t) This is the inverse function of localtime() 而且亲...

    php中根据某年第几天计算出日期年月日的代码

    要将这些整数还原为日期信息,我们只需要一个简单的计算。以今年(2008年)第159天(实际为160天,php中从0开始,0对应于常规的第一天)为例,计算它的日期、星期方法如下: 复制代码 代码如下: <?php $MyDate=...

    php中time()和mktime()方法的区别

    time()函数是返回当前时间的。而mktime()函数的主要功能不是返回当前时间,而是格式化时间。...参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。 语法 mktime(hour,minute,second,month,day,year,is_d

    Python3日期与时间戳转换的几种方法详解

    我们可以利用内置模块 datetime 获取当前时间,然后将其转换为对应的时间戳。 import datetime import time # 获取当前时间 dtime = datetime.datetime.now() un_time = time.mktime(dtime.timetuple()) print(un_...

    python操作日期和时间的方法

    代码如下:方法:a = “2013-10-10 23:40:00”#将其转换为时间数组import timetimeArray = time.strptime(a, “%Y-%m-%d %H:%M:%S”)#转换为时间戳:timeStamp = int(time.mktime(timeArray))timeStamp == 13814196002....

    pandas实现将日期转换成timestamp

    OUTLINE 常见的时间字符串与timestamp之间的转换 ...第一步:将时间字符串转换成时间元组 第二步:将时间元组转换成时间戳类型 import time data['timestamp'] = data['OCC_TIM'].apply(lambda x:time.mktime

    PHP中使用mktime获取时间戳的一个黑色幽默分析

    复制代码 代码如下: $now = mktime(0,0,0,date(“m”),date(“d”),date(“Y”)); echo “now is “.date(“Y/m/d”, $now); 显示结果: now is 2012/05/30 显然这不是我想要的结果。 于是,按照旧有的思维,我...

    PHP 时间日期操作实战

    //输出1970年1月1日0时0分0秒到2011年1月20日0时0分0秒的总秒数//mktime参数: mktime(时,分,秒,月,日,年);//常结合date(“U”,mktime(时,分,秒,月,日,年))使用;?> 3.date(); //取得时间的详细资讯 <?echo ...

    测量程序编制 - python 57格式化输出:时间日期—time模块(函数).pptx

    1、time.asctime([tupletime]) 接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008“ (2008年12月11日?周二18时07分14秒)的24个字符的字符串。 ;2、time.gmtime([secs]) 接收时间戳(1970纪元后经过...

    易语言转换Unix时间模块源码-易语言

    易语言转换Unix时间模块源码

    比较两个日期相差多少秒的几种方法

    比较两个日期相差多少秒的几种方法,具体到毫秒。 StrToDateTime、EncodeDateTime、mktime等四种方法

Global site tag (gtag.js) - Google Analytics