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
python 封装时间常用操作方法-time,datetime的更多相关文章
- python中时间处理标准库DateTime加强版库:pendulum
DateTime 的时区问题 Python的datetime可以处理2种类型的时间,分别为offset-naive和offset-aware.前者是指没有包含时区信息的时间,后者是指包含时区信息的时间 ...
- 基于python的selenium常用操作方法(1)
1 selenium定位方法 Selenium提供了8种定位方式. · id · name · class name · tag ...
- python列表的常用操作方法
主要介绍了Python中列表(List)的详解操作方法,包含创建.访问.更新.删除.其它操作等,需要的朋友可以参考下. 1.创建列表.只要把逗号分隔的不同的数据项使用方括号括起来即可 List = [ ...
- python字典的常用操作方法
Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串.数字.元组等其他容器模型.本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建.访问.删除.其它操作等,需 ...
- 基于python的selenium常用操作方法(2)
9 多表单切换 在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位.这 ...
- Python常用模块-时间模块(time&datetime)
Python常用模块-时间模块(time & datetime) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.初始time模块 #!/usr/bin/env pyth ...
- 【转载】Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
本文转载自脚本之家,源网址为:https://www.jb51.net/article/147429.htm 一.Python中日期时间模块datetime介绍 (一).datetime模块中包含如下 ...
- python时间模块-time和datetime
时间模块 python 中时间表示方法有:时间戳,即从1975年1月1日00:00:00到现在的秒数:格式化后的时间字符串:时间struct_time 元组. struct_time元组中元素主要包括 ...
- Python常用模块(time, datetime, random, os, sys, hashlib)
time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp) : 通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运 ...
随机推荐
- Java信号量 Semaphore 介绍
一.介绍 Semaphore当前在多线程环境下被扩放使用,操作系统的信号量是个很重要的概念,在进程控制方面都有应用.Java 并发库 的Semaphore 可以很轻松完成信号量控制,Semaphore ...
- 第一篇:《UNIX 网络编程 第二版》编译环境的搭建
第一步:搭建基本的编译环境 安装gcc, g++, bulid-essential等编译软件 第二步:下载本书示例源码包 第三步:解压下载到的包并放在用户主目录中 第四步:进入包内并执行以下命令 su ...
- 什么是“类数组对象”,在jquer中怎样将类数组对象转换为数组对象
类数组对象的定义: 所谓"类数组对象"就是一个常规的Object对象,如$("div")但它和数组对象非常相似:具备length属性, 并以0.1.2.3……等 ...
- 判断页面中的js方法是否存在,存在就调用它,不存在则忽略
if(typeof queryResource != 'undefined' && queryResource instanceof Function) queryResource(a ...
- 英语——'s和s'和s的区别
举个例子吧,student's 是表示学生的,名词单数形式的所有格students' 是表示学生们的,名词复数形式的所有格students 是表示学生们,名词的复数形式
- centos7上安装iptables
centos7上安装iptables的步骤 注意:CentOS7默认的防火墙不是iptables,而是firewalle. 安装iptable iptable-service #安装iptables ...
- java如何计算两个日期之间相差多少天?
java如何计算两个日期之间相差多少天? public static void main(String [] args) { Date now = new Date(); Calendar cal = ...
- idea的svn插件中compare with the same repository version和compare with latest repository version的区别?
Idea的svn插件中compare with the same repository version和compare with latest repository version的区别? 1.com ...
- angularJS中的ng-repeat指令!
ng-repeat 指令: ng-repeat 指令用来遍历一个数组重复创建当前元素: <ul ng-app="myApp" ng-controller="myAp ...
- vue-cli 项目打包异常汇总
1.打包路径错误 npm run build 之后,会发现项目目录下多了 通过 localhost 运行 index.html 会发现空白,仔细一看,是因为引用的资源位置问题 明显这个地方应该是 ./ ...