80 个例子,彻底掌握Python日期时间处理


日常工作中,用 Python 处理时间格式的数据是非常常见的,今天就来分享 DateTime 相关的示例。

文章很长,高低要忍一下,如果忍不了,那就收藏吧,总会用到的!

使用 time 模块展示当前日期和时间

将天、小时、分钟转换为秒

使用 Pandas 获取当前日期和时间

将字符串转换为日期时间对象

以毫秒为单位获取当前时间

以 MST、EST、UTC、GMT 和 HST 获取当前日期时间

从给定的日期当中获取星期几

计算两个日期时间对象之间的时差

将 5 分钟添加到 Unix 时间戳

在 Python 中遍历一系列日期

巴黎时间更改为纽约时间

使用 Python 获得最后7个工作日

从今天的日期和一个人的生日推算年龄

获得本月的第一个星期二

将整数转换为日期对象

当前日期减去 N 天的天数

比较两个日期

从 datetime 对象中提取年份

在 Python 中找到星期几

从当前日期获取 7 天前的日期

将两个日期时间对象之间的差值转换为秒

获得任何一个月的第三个星期五

从 Python 中的周数获取日期

获取特定日期的工作日

创建一个 15 分钟前的 DateTime

从特定日期获取周的开始和结束日期

两个日期之间的差异(以秒为单位)

以这种格式获取昨天的日期MMDDYY

从今天的日期获取上周三

所有可用时区的列表打印

获取指定开始日期和结束日期之间的日期范围

毫秒转换为数据

查找给定日期之后的第一个星期日的日期

将(Unix)时间戳秒转换为日期和时间字符串

以月为单位的两个日期之间的差异

将本地时间字符串转换为 UTC

获取当月的最后一个星期四

从特定日期查找一年中的第几周

从给定日期获取星期几

用 AM PM 打印当前时间

获得一个月的最后一天

从工作日值中获取工作日名称

将 N 小时数添加到当前日期时间

从当前日期获取年、月、日、小时、分钟

获取特定月份和年份的最后一个星期日

查找特定日期的年份中的哪一天

查找当前日期是工作日还是周末

组合 datetime.date 和 datetime.time 对象

获得每月的第 5 个星期一

将日期时间对象转换为日期对象

获取没有微秒的当前日期时间

将 N 秒数添加到特定日期时间

从当前日期获取两位数的月份和日期

从特定日期获取月份数据的开始和结束日期

以周为单位的两个日期之间的差异

将字符串格式的日期转换为 Unix 时间戳

获取最后一个周日和周六的日期

检查对象是否属于 datetime.date 类型

获取特定日期的周数

获取 UTC 时间

获取本周的开始和结束日期

两个日期之间的差异(以分钟为单位)

将日期时间对象转换为日期字符串

获得上周五

将 3 周添加到任何特定日期

在其他两个日期之间生成一个随机日期

查找从今天开始的第一个星期一的日期

两个日期之间的差异(以天为单位)

向当前日期添加六个月

将数据时间对象转换为 Unix(时间戳)

将年、月、日、时、分、秒的 N 个数字添加到当前日期时间

获取指定开始日期和结束日期之间的日期范围

减去 N 个年、月、日、时、分、秒到当前日期时间

获取指定年份和月份的月份第一天的工作日和月份的天数

打印特定年份的所有星期一

打印特定年份的日历

从月份编号中获取月份名称

从给定日期获取一周的开始和结束日期

根据当前日期查找上一个和下一个星期一的日期

获取当前季度的第一个日期和最后一个日期

1使用 time 模块展示当前日期和时间import time
from time import gmtime, strftime

t = time.localtime
print (time.asctime(t))
print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime))
print(strftime("%A", gmtime))
print(strftime("%D", gmtime))
print(strftime("%B", gmtime))
print(strftime("%y", gmtime))

Convert seconds into GMT date

print(strftime(, gmtime(1234567890)))

Output:
Sun May 7 09:30:37 2017
Sun, 07 May 2017 04:00:37 +0000
Sunday
05/07/17
May
17
Fri, 13 Feb 2009 23:31:30 +0000
2将天、小时、分钟转换为秒SECONDS_PER_MINUTE = 60
SECONDS_PER_HOUR = 3600
SECONDS_PER_DAY = 86400

#Read the inputs from user
days = int(input("Enter number of Days: "))
hours = int(input("Enter number of Hours: "))
minutes = int(input("Enter number of Minutes: "))
seconds = int(input("Enter number of Seconds: "))

#Calculate the days, hours, minutes and seconds
total_seconds = days * SECONDS_PER_DAY
total_seconds = total_seconds + ( hours * SECONDS_PER_HOUR)
total_seconds = total_seconds + ( minutes * SECONDS_PER_MINUTE)
total_seconds = total_seconds + seconds

#Display the result
print(“Total number of seconds: “,”%d”%(total_seconds))

Output:
Enter number of Days: 5
Enter number of Hours: 36
Enter number of Minutes: 24
Enter number of Seconds: 15
Total number of seconds: 563055
3使用 Pandas 获取当前日期和时间import pandas as pd
print(pd.datetime.now)
print(pd.datetime.now.date)
print(pd.datetime.now.year)
print(pd.datetime.now.month)
print(pd.datetime.now.day)
print(pd.datetime.now.hour)
print(pd.datetime.now.minute)
print(pd.datetime.now.second)
print(pd.datetime.now.microsecond)

Output:
2018-01-19 16:08:28.393553
2018-01-19
2018

19
16

28
394553
4将字符串转换为日期时间对象from datetime import datetime
from dateutil import parser

d1 = “Jan 7 2015 1:15PM”
d2 = “2015 Jan 7 1:33PM”

If you know date format

date1 = datetime.strptime(d1, ‘%b %d %Y %I:%M%p’)
print(type(date1))
print(date1)

If you don’t know date format

date2 = parser.parse(d2)
print(type(date2))
print(date2)

Output:
class ‘datetime.datetime’
2015-01-07 13:15:00

2015-01-07 13:33:00
5以毫秒为单位获取当前时间import time

milliseconds = int(round(time.time * 1000))
print(milliseconds)

Output:
1516364270650
6以 MST、EST、UTC、GMT 和 HST 获取当前日期时间from datetime import datetime
from pytz import timezone

mst = timezone(‘MST’)
print(“Time in MST:”, datetime.now(mst))

est = timezone(‘EST’)
print(“Time in EST:”, datetime.now(est))

utc = timezone(‘UTC’)
print(“Time in UTC:”, datetime.now(utc))

gmt = timezone(‘GMT’)
print(“Time in GMT:”, datetime.now(gmt))

hst = timezone(‘HST’)
print(“Time in HST:”, datetime.now(hst))

Output:
Time in MST: 2017-01-19 06:06:14.495605-07:00
Time in EST: 2017-01-19 08:06:14.496606-05:00
Time in UTC: 2017-01-19 13:06:14.496606+00:00
Time in GMT: 2017-01-19 13:06:14.496606+00:00
Time in HST: 2017-01-19 03:06:14.497606-10:00
7从给定的日期当中获取星期几import datetime

dayofweek = datetime.date(2010, 6, 16).strftime("%A")
print(dayofweek)

weekday Monday is 0 and Sunday is 6

print(“weekday:”, datetime.date(2010, 6, 16).weekday)

isoweekday Monday is 1 and Sunday is 7

print(“isoweekday”, datetime.date(2010, 6, 16).isoweekday)

dayofweek = datetime.datetime.today.strftime("%A")
print(dayofweek)
print(“weekday:”, datetime.datetime.today.weekday)
print(“isoweekday”, datetime.datetime.today.isoweekday)

Output:
Wednesday
weekday: 2
isoweekday 3
Friday
weekday: 4
isoweekday 5
8计算两个日期时间对象之间的时差import datetime
from datetime import timedelta

datetimeFormat = ‘%Y-%m-%d %H:%M:%S.%f’
date1 = ‘2016-04-16 10:01:28.585’
date2 = ‘2016-03-10 09:56:28.

你可能感兴趣的:(程序员,职场,Python,python,爬虫,pycharm)