• Python 时间处理


    # 日期格式:
      %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 时区名称,如果不能得到时区名称则返回空字符。
      %% 百分号
     

    时区设置

    import pytz
    pytz.common_timezones   # 查看所有时区
    pytz.country_timezones('cn') # [u'Asia/Shanghai', u'Asia/Urumqi'] 
    tz = pytz.timezone('Asia/Shanghai') # 设置时区为Asia/Shanghai
    tz = pytz.timezone('America/Tortola') # 美国中东时间America/Tortola
    datetime.datetime.now(tz).strftime("%Y-%m-%d %H:%M:%S") 
    

    time

    三种表示方式:
    (1)    时间戳 1970年1月1日之后的秒 time.time()
    (2)    元组包含了:年、日、星期等… time.struct_time
    (3)    格式化的字符串 2018-01-11 11:11 
    
    import time
    # 时间戳
    time.time()
    # 元组形式 
    time.gmtime() 
    time.localtime()
    # 字符串
    time.strftime('%Y-%m-%d %H:%M:%S')
    time.asctime()
    time.asctime(time.localtime())
    time.ctime(time.time())
    # 三种方式之间相互转换
    
    # 将字符串形式转换为元祖形式
    time.strptime('2018-01-01','%Y-%m-%d')
    time.strptime(time.strftime('%Y-%m-%d'),'%Y-%m-%d')
    #将元组形式(结构化)转换成字符形式
    time.strftime('%Y-%m-%d',time.localtime())
    #字符串转换成时间戳 (字符串类型不能直接转换成时间戳)
    

    datetime

    import datetime
    datetime.date:表示日期的类。常用的属性有year, month, day
    datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond
    datetime.datetime:表示日期时间
    datetime.timedelta:表示时间间隔,即两个时间点之间的长度
    
    datetime.datetime.now() #当前时间
    # 计算两个日期相差天数的计算
    d1 = datetime.datetime.strptime("2018-02-13","%Y-%m-%d")
    d2 = datetime.datetime.strptime("2018-01-24","%Y-%m-%d")
    (d1-d2).days
    
    # 计算两个时间相差的秒数
    starttime = datetime.datetime.now()
    endtime = datetime.datetime.now()
    (endtime - starttime).seconds
    
    #计算当前时间向后10小时的时间
    (datetime.datetime.now() +datetime.timedelta(hours=10)).ctime()
    
    # 12制的时间,am代表00:00:00--11:59:59时间段,pm代表12:00:00-23:59:59时间段
    # 如AM9:00就是上午9点,PM9:00就是21:00:00
    datetime.datetime.strptime("1/13/2018 11:37:54 PM",  '%m/%d/%Y %H:%M:%S %p').strftime("%Y-%m-%d %H:%M:%S")
    
    

    datetime

    # 安装: pip install python-dateutil
    from dateutil.relativedelta import relativedelta
    datetime.datetime.now() - relativedelta(days=1)   #当前时间减1天
    datetime.datetime.now() - relativedelta(weeks=1)  # 一周
    datetime.datetime.now() - relativedelta(months=1) # 月
    

    pandas.date_range

    # 安装 pip install pandas
    import pandas as pd
    # 获取时间列表
    pd.date_range(datetime.datetime.now().strftime("%Y-%m-%d %H"),periods=25, freq="H")
    DatetimeIndex(['2018-01-24 10:00:00', '2018-01-24 11:00:00',
                   '2018-01-24 12:00:00', '2018-01-24 13:00:00',
                   '2018-01-24 14:00:00', '2018-01-24 15:00:00',
                   '2018-01-24 16:00:00', '2018-01-24 17:00:00',
                   '2018-01-24 18:00:00', '2018-01-24 19:00:00',
                   '2018-01-24 20:00:00', '2018-01-24 21:00:00',
                   '2018-01-24 22:00:00', '2018-01-24 23:00:00',
                   '2018-01-25 00:00:00', '2018-01-25 01:00:00',
                   '2018-01-25 02:00:00', '2018-01-25 03:00:00',
                   '2018-01-25 04:00:00', '2018-01-25 05:00:00',
                   '2018-01-25 06:00:00', '2018-01-25 07:00:00',
                   '2018-01-25 08:00:00', '2018-01-25 09:00:00',
                   '2018-01-25 10:00:00'],
                  dtype='datetime64[ns]', freq='H')
    
    
  • 相关阅读:
    grep取缩写|awk两个文件取交集
    p{space}|p{Hex}|p{Digit}|转译符|1|g{-1}|[^ab]|/([^dD]+)/
    线性回归的简单实现mxnet
    线性回归从0实现——mxnet
    决策树(DT)
    C++基本语法(三)存储类及运算符
    C++基本语法(二)数据类型及变量类型、常量
    C++基本语法(一)
    np.zeros((a,b,c))
    python之range()
  • 原文地址:https://www.cnblogs.com/lmx1002/p/8340193.html
Copyright © 2020-2023  润新知