• python日期操作


    1. 日期输出格式化

    所有日期、时间的api都在datetime模块内。

    datetime => string

    # strftime是datetime类的实例方法。
    now = datetime.datetime.now()
    now.strftime('%Y-%m-%d %H:%M:%S')
    # 输出2012-03-05 16:26:23.870105

    string => datetime

    # strptime是datetime类的静态方法。
    t_str = '2012-03-05 16:26:23'
    d = datetime.datetime.strptime(t_str, '%Y-%m-%d %H:%M:%S')

    2. 日期比较操作

    在datetime模块中有timedelta类,这个类的对象用于表示一个时间间隔,比如两个日期或者时间的差别。

    # 构造方法:
    datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
    # 所有的参数都有默认值0,这些参数可以是int或float,正的或负的。
    # 可以通过timedelta.days、tiemdelta.seconds等获取相应的时间值。

    timedelta类的实例,支持加、减、乘、除等操作,所得的结果也是timedelta类的实例。比如:

    year = timedelta(days=365)
    ten_years = year *10
    nine_years = ten_years - year

    同时,date、time和datetime类也支持与timedelta的加、减运算。

    datetime1 = datetime2 +/- timedelta
    timedelta = datetime1 - datetime2

    这样,可以很方便的实现一些功能。

    #coding=utf-8
    import datetime
    now=datetime.datetime.now()
    print now
    #将日期转化为字符串 datetime => string
    print now.strftime('%Y-%m-%d %H:%M:%S')
    
    t_str = '2012-03-05 16:26:23'
    #将字符串转换为日期 string => datetime
    d=datetime.datetime.strptime(t_str,'%Y-%m-%d %H:%M:%S')
    print d
    
    #在datetime模块中有timedelta类,这个类的对象用于表示一个时间间隔,比如两个日#期或者时间的差别。
    
    #计算两个日期的间隔
    d1 = datetime.datetime.strptime('2012-03-05 17:41:20', '%Y-%m-%d %H:%M:%S')
    d2 = datetime.datetime.strptime('2012-03-02 17:41:20', '%Y-%m-%d %H:%M:%S')
    delta = d1 - d2
    print delta.days
    print delta
    
    #今天的n天后的日期。
    now=datetime.datetime.now()
    delta=datetime.timedelta(days=3)
    n_days=now+delta
    print n_days.strftime('%Y-%m-%d %H:%M:%S')

    获取当前时间

    # 当前时间
    now = datetime.datetime.now()
    
    # 当前时间凌晨
    zeroToday = now - datetime.timedelta(hours=now.hour, minutes=now.minute, seconds=now.second,microseconds=now.microsecond)
    
    # 当天结束时间23:59:59
    lastToday = zeroToday + datetime.timedelta(hours=23, minutes=59, seconds=59)
    )
    # 前一天的当前时间
    yesterdayNow = now - datetime.timedelta(hours=23, minutes=59, seconds=59)
    
    # 明天的当前时间
    tomorrowNow = now + datetime.timedelta(hours=23, minutes=59, seconds=59)
    
    # 昨天当前时间
    now = (datetime.datetime.now() - datetime.timedelta(days = 1))
    
    # 昨天凌晨
    zeroToday1 = now - datetime.timedelta(hours=now.hour, minutes=now.minute, seconds=now.second,microseconds=now.microsecond)
    
    # 昨天结束时间
    lastToday1 = zeroToday1 + datetime.timedelta(hours=23, minutes=59, seconds=59)

    3.获取当前时间是周几

    datetime.datetime.isoweekday()返回的1-7代表周到周日(推荐使用);

    date.weekday()返回的0-6代表周一到周日

    4.Python获取时分秒

    # 第一种方法的使用方式如下:
    
    1、打开终端
    2、输入:python
    3、输入:import time
    4、输入:time.localtime([可以放入时间戳])
    5、发现输出了一个struct_time结构
    6、输入:time.localtime().tm_hour
    7、获得了当前的小时值
    8、获得其他值方法类似
    
    
    # 第二种方法的使用方式如下:
    
    1、打开终端
    2、输入:python
    3、输入:import datetime
    4、输入:datetime.datetime.now().hour
    5、获得当前小时数
    6、获得其他值方法类似

     5.Python常用函数time.strftime()简介

    time.strftime()可以用来获得当前时间,可以将时间格式化为字符串等等

    # 格式命令列在下面:(区分大小写)
    
    %a 星期几的简写
    %A 星期几的全称
    %b 月分的简写
    %B 月份的全称
    %c 标准的日期的时间串
    %C 年份的后两位数字
    %d 十进制表示的每月的第几天
    %D 月/天/%e 在两字符域中,十进制表示的每月的第几天
    %F 年-月-%g 年份的后两位数字,使用基于周的年
    %G 年分,使用基于周的年
    %h 简写的月份名
    %H 24小时制的小时
    %I 12小时制的小时
    %j 十进制表示的每年的第几天
    %m 十进制表示的月份
    %M 十时制表示的分钟数
    %n 新行符
    %p 本地的AM或PM的等价显示
    %r 12小时的时间
    %R 显示小时和分钟:hh:mm
    %S 十进制的秒数
    %t 水平制表符
    %T 显示时分秒:hh:mm:ss
    %u 每周的第几天,星期一为第一天 (值从0到6,星期一为0)
    %U 第年的第几周,把星期日做为第一天(值从0到53)
    %V 每年的第几周,使用基于周的年
    %w 十进制表示的星期几(值从0到6,星期天为0)
    %W 每年的第几周,把星期一做为第一天(值从0到53)
    %x 标准的日期串
    %X 标准的时间串
    %y 不带世纪的十进制年份(值从0到99)
    %Y 带世纪部分的十制年份
    %z,%Z 时区名称,如果不能得到时区名称则返回空字符。
    %% 百分号

    实例

    from datetime import datetime
    
    dt = datetime.now()
    print('时间:(%Y-%m-%d %H:%M:%S %f): ', dt.strftime('%Y-%m-%d %H:%M:%S %f'))
    print('时间:(%Y-%m-%d %H:%M:%S %p): ', dt.strftime('%y-%m-%d %I:%M:%S %p'))
    print('星期缩写%%a: %s ' % dt.strftime('%a'))
    print('星期全拼%%A: %s ' % dt.strftime('%A'))
    print('月份缩写%%b: %s ' % dt.strftime('%b'))
    print('月份全批%%B: %s ' % dt.strftime('%B'))
    print('日期时间%%c: %s ' % dt.strftime('%c'))
    print('今天是这周的第%s天 ' % dt.strftime('%w'))
    print('今天是今年的第%s天 ' % dt.strftime('%j'))
    print('今周是今年的第%s周 ' % dt.strftime('%U'))
    print('今天是当月的第%s天 ' % dt.strftime('%d'))
  • 相关阅读:
    SQL带参数拼接
    ASP.NET+ashx+jQuery动态添加删除表格
    ASP.NET中常用重置数据的方法
    多表联合查询
    zTree在Asp.Net中的使用
    ASP.NET中常用方法
    DropDownList
    (转)一个form表单实现提交多个action
    svn简单用法
    每日三问
  • 原文地址:https://www.cnblogs.com/daofaziran/p/13627320.html
Copyright © 2020-2023  润新知