zoukankan      html  css  js  c++  java
  • python 封装时间常用操作方法-time,datetime

    封装脚本:

    #encoding=utf-8
    import time
    from datetime import timedelta,date

    def date_time_chinese():
        print u"returns the current time string,format for YYYY年mm月dd日HH时MM分SS秒"
        return time.strftime("%Y年%m月%d日 %H时%M分%S秒".decode('utf-8').encode('gbk'),time.localtime())


    def date_chinese():
        print u"returns the current time string, format for YYYY年mm月dd日"
        return time.strftime("%Y年%m月%d日".decode('utf-8').encode('gbk'),time.localtime())

    def time_chinese():
        print u"returns the current time string,format for HH时 MM分 SS秒"
        return time.strftime("%H时%M分%S秒".decode('utf-8').encode('gbk'),time.localtime())

    def date_time():
        print "returns the current time string, format for YYYY-mm-dd HH:MM:SS"
        return time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())

    def date_time_slash():
        print "returns the current time string,format for YYYY/mm/dd HH:MM:SS"
        return time.strftime("%Y/%m/%d %H:%M:%S",time.localtime())

    def dates():
        print "returns the current time string,format for YYYY-mm-dd"
        return time.strftime("%Y-%m-%d",time.localtime())

    def date_slash():
        print "returns the current time string,format for YYYY/mm/dd"
        return time.strftime("%Y/%m/%d",time.localtime())

    def times():
        print "returns the current time string, format for HH:MM:SS"
        return time.strftime("%H:%M:%S",time.localtime())

    def year():
        print "returns the current time string,format for year"
        return time.strftime("%Y",time.localtime())

    def month():
        print "returns the current time string,format for month"
        return time.strftime("%m",time.localtime())

    def day():
        print "returns the current time string,format for day"
        return time.strftime("%d",time.localtime())

    def hour():
        print "returns the current time string, format for Hour"
        return time.strftime("%H",time.localtime())

    def minute():
        print "returns the current time string,format for minute"
        return time.strftime("%M",time.localtime())

    def seconds():
        print "return the current time string,format for seconds"
        return time.strftime("%S",time.localtime())

    def str_to_tuple(stime):
        print "returns the string variable into time tuples"
        return time.strptime(stime,"%Y-%m-%d %H:%M:%S")

    def add_date(day_num):
        today=date.today()
        print "returns the current date-%s and a time interval-%s" %(today,day_num)
        times=today+timedelta(days=day_num)
        return times

    def sub_date(day_num):
        today=date.today()
        print "returns the current date-%s minus one time interval-%s" %(today,day_num)
        times=today-timedelta(days=day_num)
        return times


    if __name__=='__main__':
        print date_time_chinese()
        print date_chinese()
        print time_chinese()
        print date_time()
        print date_time_slash()
        print dates()
        print date_slash()
        print times()
        print year()
        print month()
        print day()
        print hour()
        print minute()
        print seconds()
        time1=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
        print str_to_tuple(time1)    
        print add_date(2)
        print sub_date(2)






    结果:

    D: est>python test2.py
    returns the current time string,format for YYYY年mm月dd日HH时MM分SS秒
    2018年07月04日 22时19分32秒
    returns the current time string, format for YYYY年mm月dd日
    2018年07月04日
    returns the current time string,format for HH时 MM分 SS秒
    22时19分32秒
    returns the current time string, format for YYYY-mm-dd HH:MM:SS
    2018-07-04 22:19:32
    returns the current time string,format for YYYY/mm/dd HH:MM:SS
    2018/07/04 22:19:32
    returns the current time string,format for YYYY-mm-dd
    2018-07-04
    returns the current time string,format for YYYY/mm/dd
    2018/07/04
    returns the current time string, format for HH:MM:SS
    22:19:32
    returns the current time string,format for year
    2018
    returns the current time string,format for month
    07
    returns the current time string,format for day
    04
    returns the current time string, format for Hour
    22
    returns the current time string,format for minute
    19
    return the current time string,format for seconds
    32
    returns the string variable into time tuples
    time.struct_time(tm_year=2018, tm_mon=7, tm_mday=4, tm_hour=22, tm_min=19, tm_sec=32, tm_wday=2, tm_yday=185, tm_isdst=-1)
    returns the current date-2018-07-04 and a time interval-2
    2018-07-06
    returns the current date-2018-07-04 minus one time interval-2
    2018-07-02



    注意点:

    涉及到打印中文时间字符串时,要注意一下字符编码,下边这段代码中的.decode('utf-8').encode('gbk')如果不加就会报下边的错,

    原因是因为中文字符在文件中存的是utf-8编码格式,在运行时python处理器会试图用utf-8编码显示中文字符,但是中文字符需要用gbk编码才会正常显示,所以就会报错,这时可以用utf-8编码把中文字符转解码(decode)unicode编码格式,在编码(encode)成gbk格式就可以了,好多中文字符的问题都是这个方法来解决的,后续本人会整理一下解决中文字符显示的三部曲来供大家参考

    def date_time_chinese():
        print u"returns the current time string,format for YYYY年mm月dd日HH时MM分SS秒"
        return time.strftime("%Y年%m月%d日 %H时%M分%S秒".decode('utf-8').encode('gbk'),time.localtime())

    不加.decode('utf-8').encode('gbk')时报错如下:
    D: est>python test2.py
    2018骞?7鏈?4鏃?22鏃?1鍒?1绉扵raceback (most recent call last):
      File "test2.py", line 83, in <module>
        date_time_chinese()
      File "test2.py", line 11, in date_time_chinese
        print time.strftime("%Y骞?m鏈?d鏃?%H鏃?M鍒?S绉?,time.localtime())
    IOError: [Errno 0] Error







  • 相关阅读:
    Bert whole mask为什么效果比mask字效果更好?
    开放领域关系抽取文献综述
    乱序语言模型XLNET的理解
    开源知识图谱介绍
    CRF条件随机场基础理解(一)
    Knowledge-Augmented Language Model and its Application to Unsupervised Named-Entity Recognition(Facebook AI 2019) 文献综述
    BERT+知识图谱: K-BERT Enabling Language Representation with Knowledge Graph 文献理解
    中文新词发现相关算法调研
    win10 + 独显 + Anaconda3 + tensorflow_gpu1.13 安装教程(跑bert模型)
    HTML页面仿iphone数字角标
  • 原文地址:https://www.cnblogs.com/xiaxiaoxu/p/9265739.html
Copyright © 2011-2022 走看看