参考链接: 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日期时间使用详解和定时器使用讲解相关推荐

  1. python日期时间函数详解

    1.to_datetime函数 (1)构造时间/日期 'month': [2, 3],'day': [4, 5]}) pd.to_datetime(df) ```pd.to_datetime(1490 ...

  2. python当中时间模块详解,包括time,timeit,datatime

    目录 time 模块 -- 时间获取和转换 以下三个比较常见: time.perf_counter() time.process_time() time.sleep(secs) timeit 模块详解 ...

  3. mysql定义日期类型格式_Mysql 日期时间类型详解

    MySQL 中有多种数据类型可以用于日期和时间的表示,不同的版本可能有所差异,表3-2 中列出了MySQL 5.0 中所支持的日期和时间类型. 这些数据类型的主要区别如下:  * 如果要用来表示年月 ...

  4. [转载] Python中字符串切片详解

    参考链接: Python中的字符串切片 在python中,我们定义好一个字符串,如下所示. s = 'abcdefghijklmnop' 在python中定义个字符串然后把它赋值给一个变量.我们可以通 ...

  5. [转载] python| map()函数应用详解

    参考链接: Python map函数 map()函数是 Python 内置的高阶函数,它接收一个函数 f 和一个list(或多个 list,但list个数与f函数的参数个数必须相等),并通过把函数 f ...

  6. [转载] python中pprint模块详解——print()和pprint()两者的区别

    参考链接: pprint:Python中的数据漂亮打印方法pprint pprint的英文全称Data pretty printer,顾名思义就是让显示结果更漂亮. print()和pprint()都 ...

  7. [转载] python __import__ 搜索路径详解

    参考链接: Python | __import __()函数 python __import__ 1.函数功能用于动态的导入模块,主要用于反射或者延迟加载模块 2.__import__(module) ...

  8. android仿iphone日期时间选择器,Android仿iPhone日期时间选择器详解

    本文实例为大家分享了Android仿iPhone时间选择器的具体代码,供大家参考,具体内容如下 先看效果图 如何使用 import java.text.DateFormat; import java. ...

  9. linux脚本日期时间,Linux 日期和时间操作详解

    Linux 日期和时间操作详解 发布时间:2012-11-27 15:10:07   作者:佚名   我要评论 Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Cl ...

最新文章

  1. android vlc 参数,【VLC-Android】LibVLC API简介(至关于VLC的MediaPlayer)
  2. Android开发之TextView高级应用
  3. linux虚拟机网络设置(本机使用公司内网)
  4. 百度笔试题,malloc/free与new/delete的区别与联系
  5. Windows 10 2022 年更新来了!
  6. 信息学奥赛一本通 1848:【07NOIP提高组】字符串的展开 | OpenJudge NOI 1.7 35:字符串的展开 | 洛谷 P1098 [NOIP2007 提高组] 字符串的展开
  7. 05-sqlyog的安装与基本使用
  8. python之穿越火线游戏代码_Python 大作业之五子棋游戏(附代码)
  9. 学习(踩坑)记录——新建工程
  10. ubuntu vnc安装
  11. 腾讯2019实习生笔试(编程题)
  12. 【AGC005F】Many Easy Problems FFT 容斥原理
  13. SQLPrompt10带注册机(支持SSMS v18.5)
  14. idea实现远程调试
  15. Windows上使用 OpenOCD 给 STM32 下载程序
  16. android手机传感器,安卓手机传感器
  17. 什么是即时通讯?即时通讯的发展
  18. 凭什么看不起外包员工?程序员外包到底怎么了?
  19. Windows显卡切换
  20. wwbizsrv.exe-应用程序错误

热门文章

  1. Eclipse发布Web项目
  2. 【编辑器】vscode修改背景图片的插件们
  3. 【CCCC】L2-008 最长对称子串 (25分),直接枚举遍历
  4. 【编辑器】CSDN-markdown
  5. 【网络流24题】【LOJ6013】负载平衡(环形纸牌均分,最小费最大流)
  6. linux 7 %3e命令,Linux操作系统常用基础命令
  7. Python入门-try-except
  8. Program Library HOWTO(2)
  9. 2017CCPC哈尔滨 H:A Simple Stone Game
  10. bzoj 1657: [Usaco2006 Mar]Mooo 奶牛的歌声(单调栈)