[转载] python日期时间使用详解和定时器使用讲解
参考链接: Python日期时间
python中一个关于日期时间非常重要的模块是datetime模块,使用前先将它导入到项目中,import datetime。
获取当前时间
now=datetime.datetime.now()#此时返回的是一个datetime.datetime对象,并不是我想要的美观的字符串格式,所以要对日期进行格式化
格式化时间(字符串):
now=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") #结果为:2018-07-02 18:33:48
时间的三种存在方式:时间对象,时间字符串,时间戳:
(1)datetime转字符串:
now = datetime.datetime.now()
now.strftime('%Y-%m-%d %H:%M:%S')
#输出2018-7-02 16:26:23.870105
(2)字符串转datetime:
time_str = '2012-03-05 16:26:23'
date_time = datetime.datetime.strptime(t_str, '%Y-%m-%d %H:%M:%S')
(3)时间戳转时间对象:
time1 = time.localtime()
time1_str = datetime.datetime.fromtimestamp(time1)
日期比较操作:
在datetime模块中有timedelta类,这个类的对象用于表示一个时间间隔,比如两个日期或者时间的差别。
构造方法:
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
所有的参数都有默认值0,这些参数可以是int或float,正的或负的。可以通过timedelta.days、tiemdelta.seconds等获取相应的时间值。
1.当前的时间上加一天或一年减一天等操作:
from datetime import datetime,timedelta
now = datetime.now()
yestoday = now - timedelta(days=1)
tommorow = now + timedelta(days=1)
next_year = now + timedelta(days = 365)
2.两个日期相差多少天:
d1 = datetime.datetime.strptime('2012-03-05 17:41:20', '%Y-%m-%d %H:%M:%S')
d2 = datetime.datetime.strptime('2012-03-02 17:41:20', '%Y-%m-%d %H:%M:%S')
delta = d1 - d2
print (delta.days)#输出3
3.今天的n天后的日期:
now = datetime.datetime.now()
delta = datetime.timedelta(days=3)
n_days = now + delta
print n_days.strftime('%Y-%m-%d %H:%M:%S')#输出:2012-03-08 17:44:50 输出:2012-03-08 17:44:50
4.计算两个时间相差多少秒,分钟,小时:
d1 = datetime.datetime.strptime('2012-03-05 17:41:20', '%Y-%m-%d %H:%M:%S')
d2 = datetime.datetime.strptime('2012-03-02 17:41:20', '%Y-%m-%d %H:%M:%S')
delta = d1 - d2
second=delta.seconds #多少秒
min=second/60 #多少分钟
hour=second/3600#多少小时
5.返回现在是星期几:
now_week=datetime.datetime.now().weekday() #因为方法weekday()返回的是0~6的数字,0代表星期一
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 时区名称,如果不能得到时区名称则返回空字符。
%% 百分号
python中的定时器需要用到threading模块,使用前要先导入。
import threading
def fun_timer():
print('Hello Timer!')
timer = threading.Timer(3, fun_timer) #指定3秒钟触发fun_timer()函数的内容,特别注意在构造函数中不要加括号。
timer.start()
另外再补充一下,一个很好用的第三方模块:python-dateutil,安装方式:pip install python-dateutil,可以很好的完成月份的加减:
import datetime
from dateutil.relativedelta import relativedelta
#获取当前时间
datetime_now = datetime.datetime.now()
#计算今天日期的2个月后的日期,也就是将月份加三,即使在12月份开始算,年份也会相应加上,返回的数据类型是datetime.datetime:
datetime_three_month_ago = datetime_now + relativedelta(months=2)
运行下面代码:
import datetime
from dateutil.relativedelta import relativedelta
date = datetime.datetime.strptime("2018-12-31","%Y-%m-%d")
datetime_three_month_ago = date + relativedelta(months=3)
print (datetime_three_month_ago,type(datetime_three_month_ago))
结果:
2019-03-31 00:00:00 <class 'datetime.datetime'>
[转载] python日期时间使用详解和定时器使用讲解相关推荐
- python日期时间函数详解
1.to_datetime函数 (1)构造时间/日期 'month': [2, 3],'day': [4, 5]}) pd.to_datetime(df) ```pd.to_datetime(1490 ...
- python当中时间模块详解,包括time,timeit,datatime
目录 time 模块 -- 时间获取和转换 以下三个比较常见: time.perf_counter() time.process_time() time.sleep(secs) timeit 模块详解 ...
- mysql定义日期类型格式_Mysql 日期时间类型详解
MySQL 中有多种数据类型可以用于日期和时间的表示,不同的版本可能有所差异,表3-2 中列出了MySQL 5.0 中所支持的日期和时间类型. 这些数据类型的主要区别如下: * 如果要用来表示年月 ...
- [转载] Python中字符串切片详解
参考链接: Python中的字符串切片 在python中,我们定义好一个字符串,如下所示. s = 'abcdefghijklmnop' 在python中定义个字符串然后把它赋值给一个变量.我们可以通 ...
- [转载] python| map()函数应用详解
参考链接: Python map函数 map()函数是 Python 内置的高阶函数,它接收一个函数 f 和一个list(或多个 list,但list个数与f函数的参数个数必须相等),并通过把函数 f ...
- [转载] python中pprint模块详解——print()和pprint()两者的区别
参考链接: pprint:Python中的数据漂亮打印方法pprint pprint的英文全称Data pretty printer,顾名思义就是让显示结果更漂亮. print()和pprint()都 ...
- [转载] python __import__ 搜索路径详解
参考链接: Python | __import __()函数 python __import__ 1.函数功能用于动态的导入模块,主要用于反射或者延迟加载模块 2.__import__(module) ...
- android仿iphone日期时间选择器,Android仿iPhone日期时间选择器详解
本文实例为大家分享了Android仿iPhone时间选择器的具体代码,供大家参考,具体内容如下 先看效果图 如何使用 import java.text.DateFormat; import java. ...
- linux脚本日期时间,Linux 日期和时间操作详解
Linux 日期和时间操作详解 发布时间:2012-11-27 15:10:07 作者:佚名 我要评论 Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Cl ...
最新文章
- android vlc 参数,【VLC-Android】LibVLC API简介(至关于VLC的MediaPlayer)
- Android开发之TextView高级应用
- linux虚拟机网络设置(本机使用公司内网)
- 百度笔试题,malloc/free与new/delete的区别与联系
- Windows 10 2022 年更新来了!
- 信息学奥赛一本通 1848:【07NOIP提高组】字符串的展开 | OpenJudge NOI 1.7 35:字符串的展开 | 洛谷 P1098 [NOIP2007 提高组] 字符串的展开
- 05-sqlyog的安装与基本使用
- python之穿越火线游戏代码_Python 大作业之五子棋游戏(附代码)
- 学习(踩坑)记录——新建工程
- ubuntu vnc安装
- 腾讯2019实习生笔试(编程题)
- 【AGC005F】Many Easy Problems FFT 容斥原理
- SQLPrompt10带注册机(支持SSMS v18.5)
- idea实现远程调试
- Windows上使用 OpenOCD 给 STM32 下载程序
- android手机传感器,安卓手机传感器
- 什么是即时通讯?即时通讯的发展
- 凭什么看不起外包员工?程序员外包到底怎么了?
- Windows显卡切换
- wwbizsrv.exe-应用程序错误
热门文章
- Eclipse发布Web项目
- 【编辑器】vscode修改背景图片的插件们
- 【CCCC】L2-008 最长对称子串 (25分),直接枚举遍历
- 【编辑器】CSDN-markdown
- 【网络流24题】【LOJ6013】负载平衡(环形纸牌均分,最小费最大流)
- linux 7 %3e命令,Linux操作系统常用基础命令
- Python入门-try-except
- Program Library HOWTO(2)
- 2017CCPC哈尔滨 H:A Simple Stone Game
- bzoj 1657: [Usaco2006 Mar]Mooo 奶牛的歌声(单调栈)