精华内容
下载资源
问答
  • 使用time函数获取当前时间年份,月份及当天属于当前的第几天,属于当月的第几天 """ import time import calendar y = int(time.strftime("%Y",time.localtime())) m = int(time.strftime("%m",time.localtime()))...
    """
    使用time函数获取当前时间的年份,月份及当天属于当前的第几天,属于当月的第几天
    """
    import time
    import calendar
    y = int(time.strftime("%Y",time.localtime()))
    m = int(time.strftime("%m",time.localtime()))
    d = int(time.strftime("%d",time.localtime()))
    print("当前时间年份为:%d"%y)
    print("当前时间月份为:%d"%m )
    
    # 平年二月28 天 闰年二月29天
    m_day = [31,29,31,30,31,30,31,31,30,31,30,31]
    if calendar.isleap(y) == False:   # 判断是否为闰年
        m_day[1]=28
    
    # 计算今天是今年的第多少天
    sum_day=0
    for i in range(0,m-1):
        sum_day+=m_day[i]
    
    print("今天为今年的第 %d 天!"%(sum_day+d))
    print("今天为这月的第 %d 天!"%(d))
    

    运行结果:

    在这里插入图片描述

    展开全文
  • Python常用时间操作总结【取得当前时间时间函数、应用等】

    转自:http://www.jb51.net/article/113513.htm

    这篇文章主要介绍了Python常用时间操作,包括取得当前时间、时间函数、应用等概念与相关操作技巧,需要的朋友可以参考下

    本文实例讲述了Python常用时间操作。分享给大家供大家参考,具体如下:

    我们先导入必须用到的一个module

    >>> import time
    
    

    设置一个时间的格式,下面会用到

    >>>ISOTIMEFORMAT='%Y-%m-%d %X'
    
    

    看一下当前的时间,和其他很多语言相似这是从epoch(1970 年 1 月 1 日 00:00:00)开始到当前的秒数。

    >>> time.time()
    1180759620.859
    
    

    上面的看不懂,换个格式来看看

    >>> time.localtime()
    (2007, 6, 2, 12, 47, 7, 5, 153, 0)
    
    

    localtime返回tuple格式的时间,有一个和它类似的函数叫gmtime(),2个函数的差别是时区,gmtime()返回的是0时区的值,localtime返回的是当前时区的值。

    >>> time.strftime( ISOTIMEFORMAT, time.localtime() )
    '2007-06-02 12:54:29′
    
    

    用上我们的时间格式定义了,使用strftime对时间做一个转换,如果取现在的时间,time.localtime() 可以不用。

    >>> time.strftime( ISOTIMEFORMAT, time.localtime( time.time() ) )
    '2007-06-02 12:54:31′
    >>> time.strftime( ISOTIMEFORMAT, time.gmtime( time.time() ) )
    '2007-06-02 04:55:02′
    
    

    上面展示了gmtime和localtime的区别。

    查看时区用

    >>> time.timezone
    -28800
    
    

    上面的值是一个秒值,是当前时区和0时区相差的描述,-28800=-8*3600,即为东八区。

    帖几个简单的函数

    def ISOString2Time( s ):
      '''
      convert a ISO format time to second
      from:2006-04-12 16:46:40 to:23123123
      把一个时间转化为秒
      '''
      return time.strptime( s, ISOTIMEFORMAT )
    def Time2ISOString( s ):
      '''
      convert second to a ISO format time
      from: 23123123 to: 2006-04-12 16:46:40
      把给定的秒转化为定义的格式
      '''
      return time.strftime( ISOTIMEFORMAT, time.localtime( float( s) ) )
    def dateplustime( d, t ):
      '''
      d=2006-04-12 16:46:40
      t=2小时
      return 2006-04-12 18:46:40
      计算一个日期相差多少秒的日期,time2sec是另外一个函数,可以处理,3天,13分钟,10小时等字符串,回头再来写这个,需要结合正则表达式。
      '''
      return Time2ISOString( time.mktime( ISOString2Time( d ))+time2sec( t ) )
    def dateMinDate( d1, d2 ):
      '''
      minus to iso format date,return seconds
      计算2个时间相差多少秒
      '''
      d1=ISOString2Time( d1 )
      d2=ISOString2Time( d2 )
      return time.mktime( d1 )-time.mktime( d2 )
    
    

    一、简介

    time模块提供各种操作时间的函数

    说明:一般有两种表示时间的方式:

    第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的

    第二种以数组的形式表示即(struct_time),共有九个元素,分别表示,同一个时间戳的struct_time会因为时区不同而不同

    year (four digits, e.g. 1998)
    month (1-12)
    day (1-31)
    hours (0-23)
    minutes (0-59)
    seconds (0-59)
    weekday (0-6, Monday is 0)
    Julian day (day in the year, 1-366)
    DST (Daylight Savings Time) flag (-1, 0 or 1) 是否是夏令时
    If the DST flag is 0, the time is given in the regular time zone;
    if it is 1, the time is given in the DST time zone;
    if it is -1, mktime() should guess based on the date and time.

    百度关于夏令时介绍:http://baike.baidu.com/view/100246.htm

    UTC介绍可参考下文中关于UTC的介绍:http://www.jb51.net/article/40758.htm

    二、函数介绍

    1.asctime()

    asctime([tuple]) -> string

    将一个struct_time(默认为当时时间),转换成字符串

    Convert a time tuple to a string, e.g. 'Sat Jun 06 16:26:11 1998'.
    When the time tuple is not present, current time as returned by localtime()
    is used.

    2.clock()

    clock() -> floating point number

    该函数有两个功能,

    在第一次调用的时候,返回的是程序运行的实际时间;

    以第二次之后的调用,返回的是自第一次调用后,到这次调用的时间间隔

    示例:

    import time
    if __name__ == '__main__':
      time.sleep(1)
      print "clock1:%s" % time.clock()
      time.sleep(1)
      print "clock2:%s" % time.clock()
      time.sleep(1)
      print "clock3:%s" % time.clock()
    
    

    输出:

    clock1:3.35238137808e-006
    clock2:1.00004944763
    clock3:2.00012040636
    
    

    其中第一个clock输出的是程序运行时间

    第二、三个clock输出的都是与第一个clock的时间间隔

    3.sleep(...)

    sleep(seconds)

    线程推迟指定的时间运行,经过测试,单位为秒,但是在帮助文档中有以下这样一句话,这关是看不懂

    “The argument may be a floating point number for subsecond precision.”

    4.ctime(...)

    ctime(seconds) -> string

    将一个时间戳(默认为当前时间)转换成一个时间字符串

    例如:

    time.ctime()
    
    

    输出为:'Sat Mar 28 22:24:24 2009'

    5.gmtime(...)

    gmtime([seconds]) -> (tm_year, tm_mon, tm_day, tm_hour, tm_min,tm_sec, tm_wday, tm_yday, tm_isdst)

    将一个时间戳转换成一个UTC时区(0时区)的struct_time,如果seconds参数未输入,则以当前时间为转换标准

    6.localtime(...)

    localtime([seconds]) -> (tm_year,tm_mon,tm_day,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst)

    将一个时间戳转换成一个当前时区的struct_time,如果seconds参数未输入,则以当前时间为转换标准

    7.mktime(...)

    mktime(tuple) -> floating point number

    将一个以struct_time转换为时间戳

    8.strftime(...)

    strftime(format[, tuple]) -> string

    将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出

    python中时间日期格式化符号:

    %y 两位数的年份表示(00-99)
    %Y 四位数的年份表示(000-9999)
    %m 月份(01-12)
    %d 月内中的一天(0-31)
    %H 24小时制小时数(0-23)
    %I 12小时制小时数(01-12)
    %M 分钟数(00=59)
    %S 秒(00-59)

    %a 本地简化星期名称
    %A 本地完整星期名称
    %b 本地简化的月份名称
    %B 本地完整的月份名称
    %c 本地相应的日期表示和时间表示
    %j 年内的一天(001-366)
    %p 本地A.M.或P.M.的等价符
    %U 一年中的星期数(00-53)星期天为星期的开始
    %w 星期(0-6),星期天为星期的开始
    %W 一年中的星期数(00-53)星期一为星期的开始
    %x 本地相应的日期表示
    %X 本地相应的时间表示
    %Z 当前时区的名称
    %% %号本身

    9.strptime(...)

    strptime(string, format) -> struct_time

    将时间字符串根据指定的格式化符转换成数组形式的时间

    例如:

    2009-03-20 11:45:39  对应的格式化字符串为:%Y-%m-%d %H:%M:%S

    Sat Mar 28 22:24:24 2009 对应的格式化字符串为:%a %b %d %H:%M:%S %Y

    10.time(...)

    time() -> floating point number

    返回当前时间的时间戳

    三、疑点

    1.夏令时

    在struct_time中,夏令时好像没有用,例如

    a = (2009, 6, 28, 23, 8, 34, 5, 87, 1)
    b = (2009, 6, 28, 23, 8, 34, 5, 87, 0)
    
    

    a和b分别表示的是夏令时和标准时间,它们之间转换为时间戳应该相关3600,但是转换后输出都为646585714.0

    四、小应用

    1.python获取当前时间

    time.time() 获取当前时间戳
    time.localtime() 当前时间的struct_time形式
    time.ctime() 当前时间的字符串形式

    2.python格式化字符串

    格式化成2009-03-20 11:45:39形式

    time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    
    

    格式化成Sat Mar 28 22:24:24 2009形式

    time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())
    
    

    3.将格式字符串转换为时间戳

    a = "Sat Mar 28 22:24:24 2009"
    b = time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))
    
    

    PS:本站还提供了几款关于Unix时间戳转换及日期在线工具,非常实用,提供给大家参考:

    Unix时间戳(timestamp)转换工具:
    http://tools.jb51.net/code/unixtime

    在线日期/天数计算器:
    http://tools.jb51.net/jisuanqi/date_jisuanqi

    在线万年历日历:
    http://tools.jb51.net/bianmin/wannianli

    在线阴历/阳历转换工具:
    http://tools.jb51.net/bianmin/yinli2yangli

    更多关于Python相关内容感兴趣的读者可查看本站专题:《Python日期与时间操作技巧总结》、《Python URL操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

    希望本文所述对大家Python程序设计有所帮助。


    展开全文
  • js获取当前时间,js时间函数

    千次阅读 2014-03-06 10:35:21
    Js获取当前日期时间及其它操作,js时间函数 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11...

    Js获取当前日期时间及其它操作,js时间函数

    var myDate = new Date();
    myDate.getYear(); //获取当前年份(2位)
    myDate.getFullYear(); //获取完整的年份(4位,1970-????)
    myDate.getMonth(); //获取当前月份(0-11,0代表1月)
    myDate.getDate(); //获取当前日(1-31)
    myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
    myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
    myDate.getHours(); //获取当前小时数(0-23)
    myDate.getMinutes(); //获取当前分钟数(0-59)
    myDate.getSeconds(); //获取当前秒数(0-59)
    myDate.getMilliseconds(); //获取当前毫秒数(0-999)
    myDate.toLocaleDateString(); //获取当前日期
    var mytime=myDate.toLocaleTimeString(); //获取当前时间
    myDate.toLocaleString( ); //获取日期与时间

    日期时间脚本库方法列表

    Date.prototype.isLeapYear 判断闰年
    Date.prototype.Format 日期格式化
    Date.prototype.DateAdd 日期计算
    Date.prototype.DateDiff 比较日期差
    Date.prototype.toString 日期转字符串
    Date.prototype.toArray 日期分割为数组
    Date.prototype.DatePart 取日期的部分信息
    Date.prototype.MaxDayOfDate 取日期所在月的最大天数
    Date.prototype.WeekNumOfYear 判断日期所在年的第几周
    StringToDate 字符串转日期型
    IsValidDate 验证日期有效性
    CheckDateTime 完整日期时间检查
    daysBetween 日期天数差

    js代码:

    //—————————————————
    // 判断闰年
    //—————————————————
    Date.prototype.isLeapYear = function()
    {
    return (0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0)));
    }

    //—————————————————
    // 日期格式化
    // 格式 YYYY/yyyy/YY/yy 表示年份
    // MM/M 月份
    // W/w 星期
    // dd/DD/d/D 日期
    // hh/HH/h/H 时间
    // mm/m 分钟
    // ss/SS/s/S 秒
    //—————————————————
    Date.prototype.Format = function(formatStr)
    {
    var str = formatStr;
    var Week = ['日','一','二','三','四','五','六'];

    str=str.replace(/yyyy|YYYY/,this.getFullYear());
    str=str.replace(/yy|YY/,(this.getYear() % 100)>9?(this.getYear() % 100).toString():’0′ + (this.getYear() % 100));

    str=str.replace(/MM/,this.getMonth()>9?this.getMonth().toString():’0′ + this.getMonth());
    str=str.replace(/M/g,this.getMonth());

    str=str.replace(/w|W/g,Week[this.getDay()]);

    str=str.replace(/dd|DD/,this.getDate()>9?this.getDate().toString():’0′ + this.getDate());
    str=str.replace(/d|D/g,this.getDate());

    str=str.replace(/hh|HH/,this.getHours()>9?this.getHours().toString():’0′ + this.getHours());
    str=str.replace(/h|H/g,this.getHours());
    str=str.replace(/mm/,this.getMinutes()>9?this.getMinutes().toString():’0′ + this.getMinutes());
    str=str.replace(/m/g,this.getMinutes());

    str=str.replace(/ss|SS/,this.getSeconds()>9?this.getSeconds().toString():’0′ + this.getSeconds());
    str=str.replace(/s|S/g,this.getSeconds());

    return str;
    }

    //+—————————————————
    //| 求两个时间的天数差 日期格式为 YYYY-MM-dd
    //+—————————————————
    function daysBetween(DateOne,DateTwo)
    {
    var OneMonth = DateOne.substring(5,DateOne.lastIndexOf (‘-’));
    var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf (‘-’)+1);
    var OneYear = DateOne.substring(0,DateOne.indexOf (‘-’));

    var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf (‘-’));
    var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf (‘-’)+1);
    var TwoYear = DateTwo.substring(0,DateTwo.indexOf (‘-’));

    var cha=((Date.parse(OneMonth+’/'+OneDay+’/'+OneYear)- Date.parse(TwoMonth+’/'+TwoDay+’/'+TwoYear))/86400000);
    return Math.abs(cha);
    }

    //+—————————————————
    //| 日期计算
    //+—————————————————
    Date.prototype.DateAdd = function(strInterval, Number) {
    var dtTmp = this;
    switch (strInterval) {
    case ‘s’ :return new Date(Date.parse(dtTmp) + (1000 * Number));
    case ‘n’ :return new Date(Date.parse(dtTmp) + (60000 * Number));
    case ‘h’ :return new Date(Date.parse(dtTmp) + (3600000 * Number));
    case ‘d’ :return new Date(Date.parse(dtTmp) + (86400000 * Number));
    case ‘w’ :return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Number));
    case ‘q’ :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
    case ‘m’ :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
    case ‘y’ :return new Date((dtTmp.getFullYear() + Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
    }
    }

    //+—————————————————
    //| 比较日期差 dtEnd 格式为日期型或者有效日期格式字符串
    //+—————————————————
    Date.prototype.DateDiff = 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 (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) – (dtStart.getMonth()+1);
    case ‘y’ :return dtEnd.getFullYear() – dtStart.getFullYear();
    }
    }

    //+—————————————————
    //| 日期输出字符串,重载了系统的toString方法
    //+—————————————————
    Date.prototype.toString = function(showWeek)
    {
    var myDate= this;
    var str = myDate.toLocaleDateString();
    if (showWeek)
    {
    var Week = ['日','一','二','三','四','五','六'];
    str += ‘ 星期’ + Week[myDate.getDay()];
    }
    return str;
    }

    //+—————————————————
    //| 日期合法性验证
    //| 格式为:YYYY-MM-DD或YYYY/MM/DD
    //+—————————————————
    function IsValidDate(DateStr)
    {
    var sDate=DateStr.replace(/(^\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 = sDate.replace(/[\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(sDate.replace(/\-/g,’/'));
    var ar = sDate.split(/[-/:]/);
    if(ar[0] != t.getYear() || ar[1] != t.getMonth()+1 || ar[2] != t.getDate())
    {
    //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 = str.match(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(d.getFullYear()!=r[1])return false;
    if(d.getMonth()!=r[2])return false;
    if(d.getDate()!=r[3])return false;
    if(d.getHours()!=r[4])return false;
    if(d.getMinutes()!=r[5])return false;
    if(d.getSeconds()!=r[6])return false;
    return true;
    }

    //+—————————————————
    //| 把日期分割成数组
    //+—————————————————
    Date.prototype.toArray = function()
    {
    var myDate = this;
    var myArray = Array();
    myArray[0] = myDate.getFullYear();
    myArray[1] = myDate.getMonth();
    myArray[2] = myDate.getDate();
    myArray[3] = myDate.getHours();
    myArray[4] = myDate.getMinutes();
    myArray[5] = myDate.getSeconds();
    return myArray;
    }

    //+—————————————————
    //| 取得日期数据信息
    //| 参数 interval 表示数据类型
    //| y 年 m月 d日 w星期 ww周 h时 n分 s秒
    //+—————————————————
    Date.prototype.DatePart = function(interval)
    {
    var myDate = this;
    var partStr=”;
    var Week = ['日','一','二','三','四','五','六'];
    switch (interval)
    {
    case ‘y’ :partStr = myDate.getFullYear();break;
    case ‘m’ :partStr = myDate.getMonth()+1;break;
    case ‘d’ :partStr = myDate.getDate();break;
    case ‘w’ :partStr = Week[myDate.getDay()];break;
    case ‘ww’ :partStr = myDate.WeekNumOfYear();break;
    case ‘h’ :partStr = myDate.getHours();break;
    case ‘n’ :partStr = myDate.getMinutes();break;
    case ‘s’ :partStr = myDate.getSeconds();break;
    }
    return partStr;
    }

    //+—————————————————
    //| 取得当前日期所在月的最大天数
    //+—————————————————
    Date.prototype.MaxDayOfDate = function()
    {
    var myDate = this;
    var ary = myDate.toArray();
    var date1 = (new Date(ary[0],ary[1]+1,1));
    var date2 = date1.dateAdd(1,’m',1);
    var result = dateDiff(date1.Format(‘yyyy-MM-dd’),date2.Format(‘yyyy-MM-dd’));
    return result;
    }

    //+—————————————————
    //| 取得当前日期所在周是一年中的第几周
    //+—————————————————
    Date.prototype.WeekNumOfYear = function()
    {
    var myDate = this;
    var ary = myDate.toArray();
    var year = ary[0];
    var month = ary[1]+1;
    var day = ary[2];
    document.write(‘< script language=VBScript\> \n’);
    document.write(‘myDate = Datue(”+month+’-'+day+’-'+year+”) \n’);
    document.write(‘result = DatePart(‘ww’, myDate) \n’);
    document.write(‘ \n’);
    return result;
    }

    //+—————————————————
    //| 字符串转成日期类型
    //| 格式 MM/dd/YYYY MM-dd-YYYY YYYY/MM/dd YYYY-MM-dd
    //+—————————————————
    function StringToDate(DateStr)
    {

    var converted = Date.parse(DateStr);
    var myDate = new Date(converted);
    if (isNaN(myDate))
    {
    //var delimCahar = DateStr.indexOf(‘/’)!=-1?’/':’-';
    var arys= DateStr.split(‘-’);
    myDate = new Date(arys[0],–arys[1],arys[2]);
    }
    return myDate;
    }

    若要显示:当前日期加时间(如:2009-06-12 12:00)

    function CurentTime()
    {
    var now = new Date();

    var year = now.getFullYear(); //年
    var month = now.getMonth() + 1; //月
    var day = now.getDate(); //日

    var hh = now.getHours(); //时
    var mm = now.getMinutes(); //分

    var clock = year + “-”;

    if(month < 10)
    clock += “0″;

    clock += month + “-”;

    if(day < 10)
    clock += “0″;

    clock += day + ” “;

    if(hh < 10)
    clock += “0″;

    clock += hh + “:”;
    if (mm < 10) clock += ’0′;
    clock += mm;
    return(clock);
    }

    展开全文
  • MySQL 日期与时间方面的函数 获得当前日期 时间转换 MySQL Str to Date (字符串转换为日期)函数:str_to_date(str, format) MySQL (日期、天数)转换函数:to_days(date), from_days(days) MySQL (时间、秒...

    目录

    MySQL 日期与时间方面的函数

    获得当前日期

    时间转换

    MySQL Str to Date (字符串转换为日期)函数:str_to_date(str, format)

    MySQL (日期、天数)转换函数:to_days(date), from_days(days)

    MySQL (时间、秒)转换函数:time_to_sec(time), sec_to_time(seconds)

    MySQL 拼凑日期、时间函数:makdedate(year,dayofyear), maketime(hour,minute,second)

    MySQL (Unix 时间戳、日期)转换函数

    FROM_UNIXTIME(unix_timestamp,format),DATE_FORMAT(date,format)中format

    MySQL 日期时间计算函数

    MySQL 为日期增加一个时间间隔:date_add()

    MySQL 为日期减去一个时间间隔:date_sub() 

    DATE_ADD(date,INTERVAL expr unit) 与 DATE_SUB(date,INTERVAL expr unit)

    MySQL 日期、时间相减函数:datediff(date1,date2), timediff(time1,time2)

    MySQL 日期、时间相减函数:datediff(date1,date2), timediff(time1,time2)

    MySQL timediff(time1,time2):两个日期相减 time1 - time2,返回 time 差值。

    MySQL 时间戳(timestamp)转换、增、减函数:

    MySQL 时区(timezone)转换函数

     


    MySQL 日期与时间方面的函数

    函数名称 函数功能说明
    ADDDATE() 添加日期
    ADDTIME() 添加时间
    CONVERT_TZ() 转换不同时区
    CURDATE() 返回当前日期
    CURRENT_DATE() 与 CURRENT_DATE 等同于 CURDATE()
    CURRENT_TIME() 与 CURRENT_TIME 等同于 CURTIME()
    CURRENT_TIMESTAMP() 与 CURRENT_TIMESTAMP 等同于 NOW()
    CURTIME() 返回当前时间
    DATE_ADD() 添加两个日期
    DATE_FORMAT() 按指定方式格式化日期
    DATE_SUB() 求解两个日期的间隔
    DATE() 提取日期或日期时间表达式中的日期部分
    DATEDIFF() 求解两个日期的间隔
    DAY() 等同于 DAYOFMONTH()
    DAYNAME() 返回星期中某天的名称
    DAYOFMONTH() 返回一月中某天的序号(1-31)
    DAYOFWEEK() 返回参数所定影的一周中某天的索引值
    DAYOFYEAR() 返回一年中某天的序号(1-366)
    EXTRACT 提取日期中的相应部分
    FROM_DAYS() 将一个天数序号转变为日期值
    FROM_UNIXTIME() 将日期格式化为 UNIX 的时间戳
    HOUR() 提取时间
    LAST_DAY 根据参数,返回月中最后一天
    LOCALTIME() 和 LOCALTIME 等同于 NOW()
    LOCALTIMESTAMP 和 LOCALTIMESTAMP() 等同于 NOW()
    MAKEDATE() 基于给定参数年份和所在年中的天数序号,返回一个日期
    MAKETIME MAKETIME()
    MICROSECOND() 返回参数所对应的毫秒数
    MINUTE() 返回参数对应的分钟数
    MONTH() 返回传入日期所对应的月序数
    MONTHNAME() 返回月的名称
    NOW() 返回当前日期与时间
    PERIOD_ADD() 为年-月组合日期添加一个时段
    PERIOD_DIFF() 返回两个时段之间的月份差值
    QUARTER() 返回日期参数所对应的季度序号
    SEC_TO_TIME() 将描述转变成 'HH:MM:SS' 的格式
    SECOND() 返回秒序号(0-59)
    STR_TO_DATE() 将字符串转变为日期
    SUBDATE() 三个参数的版本相当于 DATE_SUB()
    SUBTIME() 计算时间差值
    SYSDATE() 返回函数执行时的时间
    TIME_FORMAT() 提取参数中的时间部分
    TIME_TO_SEC() 将参数转化为秒数
    TIME() 提取传入表达式的时间部分
    TIMEDIFF() 计算时间差值
    TIMESTAMP() 单个参数时,函数返回日期或日期时间表达式;有2个参数时,将参数加和
    TIMESTAMPADD() 为日期时间表达式添加一个间隔 INTERVAL
    TIMESTAMPDIFF() 从日期时间表达式中减去一个间隔 INTERVAL
    TO_DAYS() 返回转换成天数的日期参数
    UNIX_TIMESTAMP() 返回一个 UNIX 时间戳
    UTC_DATE() 返回当前的 UTC 日期
    UTC_TIME() 返回当前的 UTC 时间
    UTC_TIMESTAMP() 返回当前的 UTC 时间与日期
    WEEK() 返回周序号
    WEEKDAY() 返回某天在星期中的索引值
    WEEKOFYEAR() 返回日期所对应的星期在一年当中的序号(1-53)
    YEAR() 返回年份
    YEARWEEK() 返回年份及星期序号

    获得当前日期

    select now(),
    current_timestamp(),
    current_timestamp,
    CURDATE(),
    CURTIME();

    时间转换

    MySQL Str to Date (字符串转换为日期)函数:str_to_date(str, format)

    select str_to_date('08/09/2008', '%m/%d/%Y'); -- 2008-08-09
    select str_to_date('08/09/08' , '%m/%d/%y'); -- 2008-08-09
    select str_to_date('08.09.2008', '%m.%d.%Y'); -- 2008-08-09
    select str_to_date('08:09:30', '%h:%i:%s'); -- 08:09:30
    select str_to_date('08.09.2008 08:09:30', '%m.%d.%Y %h:%i:%s'); -- 2008-08-09 08:09:30

    MySQL (日期、天数)转换函数:to_days(date), from_days(days)

    select to_days('0000-00-00'); -- 0
    select to_days('2008-08-08'); -- 733627

    MySQL (时间、秒)转换函数:time_to_sec(time), sec_to_time(seconds)

    select time_to_sec('01:00:05'); -- 3605
    select sec_to_time(3605); -- '01:00:05'

    MySQL 拼凑日期、时间函数:makdedate(year,dayofyear), maketime(hour,minute,second)

    select makedate(2001,31); -- '2001-01-31'
    select makedate(2001,32); -- '2001-02-01'
    select maketime(12,15,30); -- '12:15:30'

    MySQL (Unix 时间戳、日期)转换函数

    unix_timestamp(),
    unix_timestamp(date),
    from_unixtime(unix_timestamp),
    from_unixtime(unix_timestamp,format)

    下面是示例:

    select unix_timestamp(); -- 1218290027
    select unix_timestamp('2008-08-08'); -- 1218124800
    select unix_timestamp('2008-08-08 12:30:00'); -- 1218169800
    
    select from_unixtime(1218290027); -- '2008-08-09 21:53:47'
    select from_unixtime(1218124800); -- '2008-08-08 00:00:00'
    select from_unixtime(1218169800); -- '2008-08-08 12:30:00'

    FROM_UNIXTIME(unix_timestamp,format),DATE_FORMAT(date,format)中format

    下表中列出了一些可用于 format 字符串的标识符。格式标识符第一个字符必须是%字符。

    格式标识符 说明
    %a 一星期中每天名称的缩写(Sun...Sat)
    %b 月份的缩写(Jan...Dec)
    %c 月份的数字表现形式(0...12)
    %D 带有英语后缀的一个月中的每一天的名称(0th、1st、2nd、3rd)
    %d 用数字形式表现的每月中的每一天(00...31)
    %e 用数字形式表现的每月中的每一天(0...31)
    %f 毫秒(000000...999999)
    %H 24时制显示的小时(00...23)
    %h 12时制显示的小时(01...12)
    %I 12时制显示的小时(01...12)
    %i 以数字形式表现的分钟数(00...59)
    %j 一年中的每一天(001...366)
    %k 24时制小时的另一种表现格式(0...23)
    %l 12时制小时的另一种表现格式(1...12)
    %M 用完整英文名称表示的月份(January...December)
    %m 用数字表现的月份(00...12)
    %p 上午(AM)或下午(PM)
    %r 12时制的时间值(hh:mm:ss,后跟 AM 或 PM)
    %S 秒(00...59)
    %s 秒(00...59)
    %T 24时制的小时(hh:mm:ss)
    %U 星期(00...53),其中星期天是每星期的开始日
    %u 星期(00...53),其中星期一是每星期的开始日
    %V 星期(01...53),其中星期天是每星期的开始日,和 %X 一起使用
    %v 星期(01...53),其中星期一是每星期的开始日,和 %x 一起使用
    %W 一星期中各日名称(Sunday...Saturday)
    %w 一星期中各日名称(0代表星期日,6代表星期六,以此类推)
    %X 某星期所处年份。其中,星期天是每星期的开始日,采用4位数字形式表现,和 %V一起使用
    %x 某星期所处年份。其中,星期一是每星期的开始日,采用4位数字形式表现,和 %V 一起使用
    %Y 4位数字表示的年份
    %y 2位数字表示的年份
    %% 符号%的字面值
    %x(x为斜体) 字符x的字面值,x指以上未列出的任何字符

    MySQL 日期时间计算函数

    MySQL 为日期增加一个时间间隔:date_add()

    set @dt = now();
    select date_add(@dt, interval 1 day); -- add 1 day
    select date_add(@dt, interval 1 hour); -- add 1 hour
    select date_add(@dt, interval 1 minute); -- ...
    select date_add(@dt, interval 1 second);
    select date_add(@dt, interval 1 microsecond);
    select date_add(@dt, interval 1 week);
    select date_add(@dt, interval 1 month);
    select date_add(@dt, interval 1 quarter);
    select date_add(@dt, interval 1 year);

    MySQL 为日期减去一个时间间隔:date_sub() 

    DATE_ADD(date,INTERVAL expr unit) 与 DATE_SUB(date,INTERVAL expr unit)

    执行日期计算的两种函数。date 是一个用来指定开始日期的 DATETIME 或 DATE 值。expr 是一种以字符串形式呈现的表达式,用来指定从开始日期增加或减少的间隔值。如果是负的间隔值,则 expr 值的第一个字符是-号。unit 是一个单位关键字,用来指定expr表达式应该采取的单位。

    INTERVAL 关键字与单位说明符都不区分大小写。

    下表列出了每个单位数值所对应的 expr 参数的期望格式。

    单位所能取的值 期望的expr格式
    MICROSECOND 毫秒
    SECOND
    MINUTE
    HOUR 小时
    DAY
    WEEK
    MONTH
    QUARTER 季度
    YEAR
    SECOND_MICROSECOND '秒.毫秒'
    MINUTE_MICROSECOND '分.毫秒'
    MINUTE_SECOND '分:秒'
    HOUR_MICROSECOND '小时.毫秒'
    HOUR_SECOND '小时:分:秒'
    HOUR_MINUTE '小时:分'
    DAY_MICROSECOND '日.毫秒'
    DAY_SECOND '日 小时:分:秒'
    DAY_MINUTE '日 小时:分'
    DAY_HOUR '日 小时'
    YEAR_MONTH '年-月'

    MySQL 日期、时间相减函数:datediff(date1,date2), timediff(time1,time2)

    MySQL 日期、时间相减函数:datediff(date1,date2), timediff(time1,time2)

    -- datediff(date1,date2):两个日期相减 date1 - date2,返回天数。
    select datediff('2008-08-08', '2008-08-01'); -- 7
    select datediff('2008-08-01', '2008-08-08'); -- -7

    MySQL timediff(time1,time2):两个日期相减 time1 - time2,返回 time 差值。

    select timediff('2008-08-08 08:08:08', '2008-08-08 00:00:00'); -- 08:08:08
    select timediff('08:08:08', '00:00:00'); -- 08:08:08

    注意:timediff(time1,time2) 函数的两个参数类型必须相同。

    MySQL 时间戳(timestamp)转换、增、减函数:

    timestamp(date) -- date to timestamp
    timestamp(dt,time) -- dt + time
    timestampadd(unit,interval,datetime_expr) --
    timestampdiff(unit,datetime_expr1,datetime_expr2) --

    请看示例部分:

     

    select timestamp('2008-08-08'); -- 2008-08-08 00:00:00
    select timestamp('2008-08-08 08:00:00', '01:01:01'); -- 2008-08-08 09:01:01
    select timestamp('2008-08-08 08:00:00', '10 01:01:01'); -- 2008-08-18 09:01:01
    
    select timestampadd(day, 1, '2008-08-08 08:00:00'); -- 2008-08-09 08:00:00
    select date_add('2008-08-08 08:00:00', interval 1 day); -- 2008-08-09 08:00:00
    
    -- timestampadd() 函数类似于 date_add()。
    select timestampdiff(year,'2002-05-01','2001-01-01'); -- -1
    select timestampdiff(day ,'2002-05-01','2001-01-01'); -- -485
    select timestampdiff(hour,'2008-08-08 12:00:00','2008-08-08 00:00:00'); -- -12
    
    select datediff('2008-08-08 12:00:00', '2008-08-01 00:00:00'); -- 7

     

    MySQL timestampdiff() 函数就比 datediff() 功能强多了,datediff() 只能计算两个日期(date)之间相差的天数。

    MySQL 时区(timezone)转换函数

    -- convert_tz(dt,from_tz,to_tz)
    
    select convert_tz('2008-08-08 12:00:00', '+08:00', '+00:00'); -- 2008-08-08 04:00:00

    时区转换也可以通过 date_add, date_sub, timestampadd 来实现。

    select date_add('2008-08-08 12:00:00', interval -8 hour); -- 2008-08-08 04:00:00
    select date_sub('2008-08-08 12:00:00', interval 8 hour); -- 2008-08-08 04:00:00
    select timestampadd(hour, -8, '2008-08-08 12:00:00'); -- 2008-08-08 04:00:00

    参考链接:https://wiki.jikexueyuan.com/project/mysql/useful-functions/time-functions.html

    展开全文
  • 日期函数时间函数 1… GetDate()函数 返回系统当前...5.DateDiff()函数,用来计算2个时间时间差 –DateDiff(时间差的类型【年,月,日等】,第一个时间,第2个时间) 语法:select datediff(year,‘2020-4-27’,‘2
  • 1)利用函数求任意个数的最大值 2)利用函数判断闰年 3)用户输入年份,输出当前年份2月份的天数 如果是闰年,则2月份是29天,如果是平年,则2月份是28天
  • 返回跨两个指定日期的日期和时间边界数。 语法 DATEDIFF ( datepart , startdate , enddate ) 参数 datepart 是规定了应在日期的哪一部分计算差额的参数。下表列出了 Microsoft® SQL Server™ 识别的...
  • 原文链接:...获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | now() | +---------------------+ | 2008-08-08 22:20:46 | +---...
  • 获取系统当前年份 方法一: /**  * 获取系统当前年份  * @return  */  public static String getSysYear() {  Calendar date = Calendar.getInstance();  String year = String.valueOf(date.get(Calenda...
  • Windows下获取当前时间函数汇总

    万次阅读 2018-06-28 16:54:07
    (1)使用C标准库(精确到秒级):#include &lt;time.h&gt;#include &lt;stdio.h&gt;int main( void ){time_t t = time(0);char tmp[64];strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%...
  • js 获取当前日期和时间函数

    千次阅读 2010-12-19 16:03:00
     //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay
  •  // 函数互相调用案例:用户输入年份,输出当前年份2月份的天数  function backDay() {  var year = prompt('year?');  if (isRunYear(year)) {  alert('当前年份是闰年2月份有29天'); ...
  • Windows 获取当前系统时间函数总结

    千次阅读 2012-11-10 13:06:39
    Windows 获取当前系统时间函数总结 2009-10-17 13:38 由于最近测试函数的运行时间,可是发现系统提供的大多是以毫秒级的时间精度,而算法的执行(在没有选取大量数据的情况下)竟然在毫秒级内完成了。这让我花费了...
  • Oracle sql 获取 时间 https://blog.csdn.net/rexueqingchun/article/details/83412131 原 Oracle查询今天、昨天、本周、上周、本月、上月数据 2018年10月26日 11:20:22 王绍桦 阅读数:1393  版权声明:...
  • C/C++时间函数使用

    万次阅读 2010-03-14 22:04:00
    一、获取日历时间time_t是定义在time.h中的一个类型,表示一个日历时间,也就是从1970年1月1日0时0分0秒到此时的秒数,原型是:typedef long time_t; /* time value */可以看出time...函数time可以获取当前日历时间时间
  • 7.1.GMT时间和UTC时间 7.2.linux系统如何记录时间 7.3.linux中时间相关的函数 7.4.时间相关API实战
  • Windows获取当前系统时间函数总结

    千次阅读 2011-11-15 12:53:30
    这让我花费了一段时间来查找新的Windows函数来获取当前时间。 先介绍一下普通的函数: (1)使用C标准库(精确到秒级): #include #include int main( void ) { time_t t = time(0);
  • C++之时间函数使用总结

    千次阅读 2013-07-18 16:50:41
    今天设计了一个会话管理框架,管理客户端与服务器的每个Session,在SessionMgr管理会话的时候,用到时间函数,去判断会话是否超时。这里顺便整理下,时间相关的一些函数和结构体。 一. time_t 先不关心操作系统...
  • C语言时间函数

    2015-10-31 11:26:21
    在调用系统时间处理时间问题时,需要使用时间函数,使用前需要引入头文件time.h。 1.time函数 time_t time(time_t *t); time函数会返回从公元1970年1月1日的UTC时间从0时0分0秒起到现在所经过的秒数。参数t是一个...
  • PostgreSQL的时间/日期函数使用

    千次阅读 2013-11-12 22:09:38
    PostgreSQL的时间/日期函数使用 PostgreSQL的常用时间函数使用整理如下: 一、获取系统时间函数 1.1 获取当前完整时间 select now(); david=# select now(); now ------------------------------...
  • Asp获取当前时间函数?

    千次阅读 2013-12-27 16:50:31
    now() 获取当前系统日期和时间,ASP输出可以这样写: Year(now()) 获取年份, ASP输出: Month(now()) 获取当前月份,ASP输出: day(now()) 获取当天数,ASP输出: Minute(now()) 获取分钟数,ASP输出:
  • 如何使用 DAX 函数计算上年值

    千次阅读 2020-04-01 22:21:34
    关于同期的计算是一个老生常谈的问题,今天我们来看一下计算上年值的几个DAX函数吧~ # ** 数据准备** 我们虚拟从2018年1月至2019年4月的数据,如下: 构造日期表,可采用如下DAX语句构建: Calendar = ADDCOLUMNS ...
  • 使用sqlserver日期函数中的getdate()可以获取当现的日期,下面就将为您介绍这种使用sqlserver日期函数获取当前日期的方法。 但是如果我们只需要得到当前的日期,不需要时间部分,或者不需要日期只要时间部分,再或者...
  • c语言时间函数

    2013-12-03 19:09:07
    本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和...
  • javascript时间函数

    2019-10-07 06:45:41
    javascript时间函数 ... javascript时间函数javascript提供了Date对象来进行时间和日期的计算。 Date对象有多种构造函数: new Date() //当前时间new Date(milliseconds) //距离起始时间1970年1...
  • ASP时间函数总结

    2016-12-19 13:42:54
    ASP时间函数总结
  • 使用Python中time 函数库中的函数当前系统的日期,并计算当前日期是本年度的第几天。 def isr_year(n): if (n%40 and n%100!=0)or n%4000: return True else: return False def conutday(y,m,d): today=d ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,596
精华内容 15,438
关键字:

当前年份使用时间函数计算