zoukankan      html  css  js  c++  java
  • 时间戳转换格式化时间

     

    1、格式化时间转换时间戳

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    import time
     
    def str_to_stamp(str=None,format='%Y-%m-%d %H:%M:%S'):
        # 格式化好的时间转时间戳的,如果不传格式化好的时间,就返回当前的时间戳
        if str:
            return int(time.mktime(time.strptime(str,format)))
        else:
            return int(time.time())
     
    print(str_to_stamp())
    print(str_to_stamp('2019-12-13 22:23:24'))
    print(str_to_stamp('2019-12-13','%Y-%m-%d'))
     
     
     
    1575516985
    1576247004
    1576166400

      

      

    2、时间戳转换格式化时间 

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    import time
     
    def  stamp_to_str(stamp=None,format='%Y-%m-%d %H:%M:%S'):
        '''这个是把时间戳转换成格式化好的实际,如果不传时间戳,那么就返回当前的时间'''
        if stamp:
            return  time.strftime(format,time.localtime(stamp))
     
        else:
            return  time.strftime(format,time.localtime())
     
     
    print(stamp_to_str(1575516985,'%Y-%m-%d'))
    print(stamp_to_str(format='%Y-%m-%d'))
    print(stamp_to_str())
     
     
    2019-12-05
    2019-12-05
    2019-12-05 11:52:37

      

    start_time = datetime.datetime.today()-datetime.timedelta(days=start)
    datetime时间转换成时间戳:
    from datetime import datetime
    
    dt_obj = datetime.strptime('20.12.2016 09:38:42,76',
                               '%d.%m.%Y %H:%M:%S,%f')
    millisec = dt_obj.timestamp() * 1000
    
    print(millisec)
    两个时间差的天数转为秒
    import datetime
    >>> datetime.timedelta(seconds=24*60*60).total_seconds()
    86400.0
    # 时间的替换
    import time,datetime
    today = datetime.datetime.today()
    print('当前时间:',today)
    print('当前时间转换成整h整m整s:',today.replace(minute=0, second=0))
    # 时间的加减
    res1 = today + datetime.timedelta(days=1,minutes=60)
    print('增加的时间为res:',res1)
    res0 = datetime.datetime.now()
    print('未格式化时间res0:',res0)
    # 将时间转字符串格式化
    res2 = datetime.datetime.now().strftime("%Y/%m/%d")
    print('格式化后的时间res:',res2)
    # 字符串转时间
    res3 = datetime.datetime.strptime('2018/10/11', "%Y/%m/%d")
    print('字符串转特定的时间res:',res3)
    # 转成时间元组
    print('转成时间元组:',today.timetuple())
    #日期0000时间格式转换为普通时间格式
    str_time ='2018-12-14 00:00:00'
    start_date = datetime.datetime.strptime(str_time, "%Y-%m-%d %H:%M:%S")
    print('start_date:',start_date)
    print('---------第二部分----------')
    from datetime import datetime
    from datetime import timedelta
    # 1) 获取当前日期和时间
    today = datetime.today()  # 返回当前时间时分秒都为0
    print('当前today:',today)
    today1 = datetime.now() # 返回当前日期和时间
    # now.hour # 时
    # now.minute # 分
    # now.isoweekday()# 返回的1-7代表周一--周日;
    # now.weekday()# 返回的0-6代表周一--到周日
    # 而标准格式种%w 1-6表示周一--周六,0代表周日
    print('today1', today1 )
    today2 = datetime.utcnow() # 返回当前东八区时间就是比当时时间少8个小时
    print('today2:',today2)
    # 2) 获取指定日期和时间,加减计算
    time= datetime(2019, 5, 12, 12, 13, 14)
    d= time + timedelta(weeks=0, days=0, hours=0, minutes=0, seconds=0, milliseconds=0, microseconds=0, )
    #依次为 "" "", "","","","毫秒","微秒"
    print('time:',time)
    print('d:',d)
    time1= "2019-5-12 12:13:14"        # 字符串 日期
    d1 = datetime.strptime(str(time1),'%Y-%m-%d %H:%M:%S')
    plus= d1 + timedelta(days=1)        # 加
    minus = d1 - timedelta(days=1)        # 减
    print('d1:',d1)
    print('plus:',plus)
    print('minus:',minus)
    time2= 20190512121314
    d2 = datetime.strptime(str(time2),'%Y%m%d%H%M%S')
    delta = d2 + timedelta(days=1)
    print('time2:',time2)
    print('d2:',d2 )
    print('delta:',delta)
    # 3) 日期datetime-timestamp 时间戳相互转
    now_stamp = time.timestamp()
    print('指定时间对应时间戳 :', now_stamp)
    print('对应本地时间 :', datetime.fromtimestamp(now_stamp ))
    print('UTC标准时间 :', datetime.utcfromtimestamp(now_stamp ))
    print('本周的第几天:', datetime.fromtimestamp(now_stamp ).weekday())
    # 4) datetime 时间 转换为str字符串
    now = datetime.now()
    print('当前时间的的:', now)
    print('转换为str字符串:',now.strftime('%Y%m%d%H%M%S'))
    print('--------第三部分-------------')
    import datetime
    from datetime import timedelta
    now = datetime.datetime.now()
    print('now:',now)
    # 今天
    today = now
    print('today:',today)
    # 昨天
    yesterday = now - timedelta(days=1)
    print('yesterday:',yesterday)
    # 明天
    tomorrow = now + timedelta(days=1)
    print('tomorrow:',tomorrow)
    # 当前季度
    now_quarter = now.month / 3 if now.month % 3 == 0 else now.month / 3 + 1
    print('now_quarter:',now_quarter)
    # 本周第一天和最后一天
    this_week_start = now - timedelta(days=now.weekday())
    this_week_end = now + timedelta(days=6 - now.weekday())
    print('this_week_start:',this_week_start)
    print('this_week_end:',this_week_end)
    # 上周第一天和最后一天
    last_week_start = now - timedelta(days=now.weekday() + 7)
    last_week_end = now - timedelta(days=now.weekday() + 1)
    print('last_week_start:',last_week_start)
    print('last_week_end:',last_week_end)
    # 本月第一天和最后一天
    this_month_start = datetime.datetime(now.year, now.month, 1)
    month = now.month + 1
    if month == 13:
    month = 1
    year = now.year + 1
    this_month_end = datetime.datetime(now.year + 1, 1, 1) - timedelta(days=1)
    print('this_month_end:',this_month_end )
    else:
    this_month_end = datetime.datetime(now.year, now.month + 1, 1) - timedelta(days=1)
    print('this_month_end:',this_month_end )
    # 上月第一天和最后一天
    last_month_end = this_month_start - timedelta(days=1)
    last_month_start = datetime.datetime(last_month_end.year, last_month_end.month, 1)
    print('last_month_end:',last_month_end)
    print('last_month_start:',last_month_start)
    # 本季第一天和最后一天
    month = (now.month - 1) - (now.month - 1) % 3 + 1
    this_quarter_start = datetime.datetime(now.year, month, 1)
    this_quarter_end = datetime.datetime(now.year, month + 3, 1) - timedelta(days=1)
    print('this_quarter_start:',this_quarter_start)
    print('this_quarter_end:',this_quarter_end)
    # 上季第一天和最后一天
    last_quarter_end = this_quarter_start - timedelta(days=1)
    last_quarter_start = datetime.datetime(last_quarter_end.year, last_quarter_end.month - 2, 1)
    print('last_quarter_end:',last_quarter_end)
    print('last_quarter_start:',last_quarter_start)
    # 本年第一天和最后一天
    this_year_start = datetime.datetime(now.year, 1, 1)
    this_year_end = datetime.datetime(now.year + 1, 1, 1) - timedelta(days=1)
    print('this_year_start:',this_year_start)
    print('this_year_end:',this_year_end)
    # 去年第一天和最后一天
    last_year_end = this_year_start - timedelta(days=1)
    last_year_start = datetime.datetime(last_year_end.year, 1, 1)
    print('last_year_end:',last_year_end)
    print('last_year_start:',last_year_start)
    时间转换的几种类型

      

    每天逼着自己写点东西,终有一天会为自己的变化感动的。这是一个潜移默化的过程,每天坚持编编故事,自己不知不觉就会拥有故事人物的特质的。 Explicit is better than implicit.(清楚优于含糊)
  • 相关阅读:
    怎样才有资格被称为开源软件
    [翻译]开发Silverlight 2.0的自定义控件
    网上Silverlight项目收集
    Google 分析的基准化测试
    IIS 承载的WCF服务失败
    Lang.NET 2008 相关Session
    Silverlight 2.0 beta1 堆栈
    asp.net 性能调较
    SQL Server 2005 的nvarchar(max),varchar(max)来救火
    LINQPad
  • 原文地址:https://www.cnblogs.com/kylin5201314/p/14817812.html
Copyright © 2011-2022 走看看