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:\test>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:\test>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







转载于:https://www.cnblogs.com/xiaxiaoxu/p/9265739.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值