Python处理日期方法大全、三十种方法

这篇具有很好参考价值的文章主要介绍了Python处理日期方法大全、三十种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

import time
from time import gmtime, strftime
 
t = time.localtime()  
print (time.asctime(t))  # Sun May 7 09:30:37 2017
print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime()))  # Sun, 07 May 2017 04:00:37 +0000
print(strftime("%A", gmtime()))  # Sunday
print(strftime("%D", gmtime()))  # 05/07/17
print(strftime("%B", gmtime()))  # May
print(strftime("%y", gmtime()))  # 17
 
# Convert seconds into GMT date
print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime(1234567890)))  # Fri, 13 Feb 2009 23:31:30 +0000

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

SECONDS_PER_MINUTE = 60
SECONDS_PER_HOUR = 3600
SECONDS_PER_DAY = 86400
 
# 输入天、小时、分钟、秒的数量
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: "))
 
# 计算
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
 
# 结果
print("Total number of seconds: ","%d"%(total_seconds))
'''
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
'''

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

import pandas as pd
print(pd.datetime.now())  # 2018-01-19 16:08:28.393553
print(pd.datetime.now().date())  # 2018-01-19
print(pd.datetime.now().year)  # 2018
print(pd.datetime.now().month)  # 1
print(pd.datetime.now().day)  # 19
print(pd.datetime.now().hour)  # 16
print(pd.datetime.now().minute)  # 8
print(pd.datetime.now().second)  # 28
print(pd.datetime.now().microsecond)  # 394553

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

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))  # class 'datetime.datetime'
print(date1)  # 2015-01-07 13:15:00

# If you don't know date format
date2 = parser.parse(d2)
print(type(date2))  # class 'datetime.datetime'
print(date2)  # 2015-01-07 13:33:00

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

import time
 
milliseconds = int(round(time.time() * 1000))
print(milliseconds)  # 1516364270650

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

from datetime import datetime
from pytz import timezone
 
mst = timezone('MST')
print("Time in MST:", datetime.now(mst))  # Time in MST: 2017-01-19 06:06:14.495605-07:00
est = timezone('EST')
print("Time in EST:", datetime.now(est))  # Time in EST: 2017-01-19 08:06:14.496606-05:00
utc = timezone('UTC')
print("Time in UTC:", datetime.now(utc))  # Time in UTC: 2017-01-19 13:06:14.496606+00:00
gmt = timezone('GMT')
print("Time in GMT:", datetime.now(gmt))  # Time in GMT: 2017-01-19 13:06:14.496606+00:00
hst = timezone('HST')
print("Time in HST:", datetime.now(hst))  # Time in HST: 2017-01-19 03:06:14.497606-10:00

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

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

# weekday()方法: 0代表周一,6代表周日
print("weekday():", datetime.date(2010, 6, 16).weekday())  # weekday(): 2
 
# isoweekday() 方法: 1代表周一,7代表周日
print("isoweekday()", datetime.date(2010, 6, 16).isoweekday())  # isoweekday() 3
 
dayofweek = datetime.datetime.today().strftime("%A")
print(dayofweek)  # Friday
print("weekday():", datetime.datetime.today().weekday())  # weekday(): 4
print("isoweekday()", datetime.datetime.today().isoweekday())  # isoweekday(): 5

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

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.067'
diff = datetime.datetime.strptime(date1, datetimeFormat)\
    - datetime.datetime.strptime(date2, datetimeFormat)
 
print("Difference:", diff)  # Difference: 37 days, 0:05:00.518000
print("Days:", diff.days)  # Days: 37
print("Microseconds:", diff.microseconds)  # Microseconds: 518000
print("Seconds:", diff.seconds)  # Seconds: 300

九、将 5 分钟添加到 Unix 时间戳

import datetime
import calendar
 
future = datetime.datetime.utcnow() + datetime.timedelta(minutes=5)
print(calendar.timegm(future.timetuple()))  # 1621069619

十、遍历一系列日期

import datetime

start = datetime.datetime.strptime("21-06-2020", "%d-%m-%Y")
end = datetime.datetime.strptime("05-07-2020", "%d-%m-%Y")
date_generated = [start + datetime.timedelta(days=x) for x in range(0, (end - start).days)]

for date in date_generated:
    print(date.strftime("%d-%m-%Y"))

十一、巴黎时间更改为纽约时间

import pendulum
 
in_paris = pendulum.datetime(2016, 8, 7, 22, 24, 30, tz='Europe/Paris')
print(in_paris)  # 2016-08-07T22:24:30+02:00
 
in_us = in_paris.in_timezone('America/New_York')
print(in_us)  # 2016-08-07T16:24:30-04:00

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

from datetime import date
from datetime import timedelta
 
today = date.today()
 
for i in range(7):
    d = today - timedelta(days=i)
    if d.weekday() < 5:
        print(d)

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

from datetime import date
 
 
def calculate_age(born):
    today = date.today()
    try:
        birthday = born.replace(year=today.year)
    except ValueError:
        birthday = born.replace(year=today.year, month=born.month + 1, day=1)
    if birthday > today:
        return today.year - born.year - 1
    else:
        return today.year - born.year
 
 
print(calculate_age(date(2001, 3, 1)))

十四、获得本月的第一个星期二

import calendar
from datetime import datetime
 
c = calendar.Calendar(firstweekday=calendar.SUNDAY)
monthcal = c.monthdatescalendar(datetime.today().year, datetime.today().month)
#Python小白学习交流群:153708845  
try:
    tues = [day for week in monthcal for day in week if
            day.weekday() == calendar.TUESDAY and day.month == datetime.today().month][0]
    print(tues)
except IndexError:
    print('No date found')

十五、将整数转换为日期对象

from datetime import datetime

i = 1545730073
timestamp = datetime.fromtimestamp(i)

print(timestamp)  # 2018-12-25 14:57:53
print(type(timestamp))

十六、当前日期减去 N 天的天数

from datetime import datetime, timedelta

d = datetime.today() - timedelta(days=5)
print(d)

十七、比较两个日期

import datetime

a = datetime.datetime(2020, 12, 31, 23, 59, 59)
b = datetime.datetime(2020, 11, 30, 23, 59, 59)

print(a < b)
print(a > b)

十八、从 datetime 对象中提取年份

import datetime
 
year = datetime.date.today().year
print(year)

十九、根据日期找到星期几

import pendulum
 
dt = pendulum.parse('2021-05-18')
print(dt.day_of_week)  # 2
 
dt = pendulum.parse('2021-05-01')
print(dt.day_of_week) # 6
 
dt = pendulum.parse('2021-05-21')
print(dt.day_of_week) # 5

二十、从当前日期获取 7 天前的日期

from datetime import datetime, timedelta
 
now = datetime.now()
 
for x in range(7):
    d = now - timedelta(days=x)
    print(d.strftime("%Y-%m-%d"))

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

import datetime
 
time1 = datetime.datetime.strptime('19 01 2021', '%d %m %Y')
time2 = datetime.datetime.strptime('25 01 2021', '%d %m %Y')
 
difference = time2 - time1
print(difference)  # 6 days, 0:00:00
 
seconds = difference.total_seconds()
print(seconds)  # 518400.0

二十二、获得任何一个月的第N个星期五

import calendar

# 取2021年5月的第三个星期五
c = calendar.Calendar(firstweekday=calendar.SUNDAY)
year = 2021
month = 5
n = 2  # 取第三个
monthcal = c.monthdatescalendar(year, month)
 
try:
    third_friday = [
        day for week in monthcal 
            for day in week if
                day.weekday() == calendar.FRIDAY and day.month == month
    ][n]
    print(third_friday)  # 2021-05-21
except IndexError:
    print('No date found')

二十三、根据周数获取日期

import datetime
from dateutil.relativedelta import relativedelta
 
week = 25
year = 2021
date = datetime.date(year, 1, 1) + relativedelta(weeks=+week)
print(date)  # 2021-06-25

二十四、获取特定日期的工作日

import datetime
 
print(datetime.date(2020, 5, 15).isocalendar()[2])  # 5

二十五、创建一个 15 分钟前的 DateTime

import datetime
#Python小白学习交流群:153708845  
dt = datetime.datetime.now() - datetime.timedelta(minutes=15)
print(dt)  # 2021-05-15 22:25:55.897365

二十六、从特定日期获取周的开始和结束日期

import pendulum
 
dt = pendulum.datetime(2012, 9, 5)
 
start = dt.start_of('week')
print(start.to_datetime_string())  # 2012-09-03 00:00:00
 
end = dt.end_of('week')
print(end.to_datetime_string())  # 2012-09-09 23:59:59

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

from datetime import datetime
#Python小白学习交流群:153708845 
fmt = '%Y-%m-%d %H:%M:%S'
d1 = datetime.strptime('2020-01-01 17:31:22', fmt)
d2 = datetime.strptime('2020-01-03 17:31:22', fmt)
 
days_diff = d2 - d1
print(days_diff.days * 24 * 60 * 60)  # 172800

二十八、以这种格式获取昨天的日期MMDDYY

from datetime import date, timedelta
 
yesterday = date.today() - timedelta(days=1)
print(yesterday.strftime('%m%d%y'))  # 051421

二十九、根据今天的日期获取上周三的日期

from datetime import date
from datetime import timedelta

today = date.today()

offset = (today.weekday() - 2) % 7
wednesday = today - timedelta(days=offset)
print(wednesday)  # 2021-05-12

三十、所有可用时区的列表打印

import pytz

for i in pytz.all_timezones:
    print(i)

文章来源地址https://www.toymoban.com/news/detail-746039.html

到了这里,关于Python处理日期方法大全、三十种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python: 处理表格日期的常用场景和方法

    1. 提取日期 有时候我们只需要从日期中提取出年、月、日等信息,以便更好地进行数据分析和可视化。可以使用 dt 属性实现: 2. 计算时间差 在时间序列分析中,我们通常需要计算时间差,例如两个日期之间的天数、小时数等。可以使用 timedelta 实现: 3. 将日期列设为索引

    2023年04月15日
    浏览(28)
  • 常用python代码大全-python使用csv模块进行CSV文件操作

    CSV文件是一种常见的数据存储格式,由逗号分隔的值组成。Python的csv模块提供了读取和写入CSV文件的功能。 以下是一个使用csv模块进行CSV文件操作的代码示例: 在上面的代码中,我们首先使用 open() 函数打开一个名为 example.csv 的CSV文件,并指定模式为 \\\'r\\\' ,表示只读模式。然

    2024年01月17日
    浏览(32)
  • Python处理日期和时间库之arrow使用详解

    日期和时间处理是许多应用程序中的常见任务,但在 Python 中,标准库中的  datetime  模块有时可能会让这些任务变得复杂和繁琐。幸运的是,有一个名为 Arrow 的第三方库,它提供了简化日期和时间处理的功能,使其更加直观和易用。本文将深入探讨 Arrow 库的基本概念、安装

    2024年01月25日
    浏览(26)
  • 【Java基础教程】(三十七)常用类库篇 · 第七讲:日期时间处理类——三万字全面讲解 LocalDateTime和 DateTimeFormatter,Date、Calendar ~

    Java的时间处理相关类主要是为了提供灵活、可靠地处理日期和时间的能力,以满足各种应用程序中对时间的需求。这些类旨在简化日期和时间的操作,并提供一致的方法和功能来处理时间上的计算、格式化和解析。 🔍 时间日期及处理类汇总 将Java中所有用于表示日期时间的

    2024年02月16日
    浏览(37)
  • 一图看懂 requests 模块:用Python编写、供人类使用的HTTP库, 资料整理+笔记(大全)

    本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 全文介绍系统内置 requests 模块、函数、类及类的方法和属性。 它通过代码抓取并经AI智能翻译和人工校对。 是一部不可多得的权威字典类工具书。它是系列集的一部分。后续陆续发布、敬请关注。【原创

    2024年02月06日
    浏览(31)
  • 如何使用 Python 多处理模块?

    更多Python学习内容:ipengtao.com Python 多处理模块是一个强大的工具,用于实现并行处理,提高程序的性能和效率。无论是在数据处理、网络爬虫、并行计算还是其他领域,多处理都可以发挥重要作用。本文将详细介绍 Python 中多处理模块的使用方法,包括 multiprocessing 和 concu

    2024年01月21日
    浏览(32)
  • python入门基础(15)--模块和python中数学、日期、时间类模块。

    接上篇,当我们创建了很多类,比如  图书馆里的藏书,分社会科学类,艺术类、生活类、农业类、工业类等,而工业类又分为轻工业、重工业、信息工业,然后再细分。当分的越来越细时,程序就会越来越大。如何管理,便成了程序开发过程中一个重要的环节。于是可以按

    2024年02月08日
    浏览(36)
  • python常用模块大全

    目录 时间模块time() 与 datetime() random()模块 os模块 sys模块 tarfile用于将文件夹归档成 .tar的文件 shutil 创建压缩包,复制,移动文件 zipfile将文件或文件夹进行压缩 shelve 模块 json和pickle序列化 hashlib 模块 subprocess 模块 re模块 time()模块中的重要函数 time()模块时间格式转换 time()模块时

    2023年04月08日
    浏览(58)
  • Python中的日期和时间(一)datetime模块

    Python实用教程_spiritx的博客-CSDN博客 Python处理时间的对象很多,常用的有time、datetime和calendar等。本文对常用的时间对象的使用进行学习。在开始学习具体的对象前,先学习几个计算机的时间概念。 UTC (全球标准时间) :是全球范围内计时的科学标准,它基于精心维护的原子

    2024年02月09日
    浏览(29)
  • [python] 使用selenium+pywinauto模块处理弹窗中的图片/文件上传

    在我们使用selenium模块操作浏览器完成一些任务时经常会遇到一些需要上传文件/图片的弹窗。例如,我们在编辑发送邮件时需要上传文件: 这些弹窗属于系统页面而非浏览器页面,所以只使用selenium模块是定位不到弹窗页面中的元素的,从而也就无法对元素进行操作完成上传

    2024年02月03日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包