欢迎访问宙启技术站
智能推送

如何使用Python函数进行日期和时间处理?

发布时间:2023-05-20 06:16:06

Python是一种强大的开源编程语言,其供应商强调Pyhon是可读性强、清晰的语法及丰富的库的编程语言。Python语言提供了灵活且轻松的方法来处理日期和时间。在本文中,我们将介绍Python用于日期和时间处理的常见函数以及示例用法。

一、基本时间定义

在Python中,我们可以使用datetime模块处理日期和时间。datetime模块支持各种时间表示方法,如date、time和datetime。

一、datetime.date类

在datetime.date类中,我们可以使用年、月和日表示日期,这个类通常用于表示类似纪念日、生日、工作日等类型的日期。该类主要有以下方法。

1. datetime.date.today():返回今天的日期

2. datetime.date.toordinal():将日期转换为自1601年1月1日以来的序数

3. datetime.date.isoweekday():返回该日期的ISO周日

4. datetime.date.weekday():返回该日期的星期日。

以下是datetime.date类示例:

import datetime 

# 创建一个日期
dep_date = datetime.date(2023, 2, 28) 

# 标准格式输出日期
print(dep_date)  

# 获得日期的ISO周日
print(dep_date.isoweekday())  

# 获得日期的星期日
print(dep_date.weekday())  

# 返回今天的日期
today = datetime.date.today()

# 将日期转化为自1601年1月1日以来的序数
ordinal_date = today.toordinal()
print(ordinal_date)  

默认情况下,datetime.date.today()返回的日期格式为YYYY-MM-DD。

二、datetime.datetime类

datetime.datetime表示时间和日期,这个类通常用于表示具体的时间点。该类还具有moment和串行表示工具(timedelta)。该类主要有以下方法。

1. datetime.datetime.now():返回当前时间

2. datetime.datetime.timestamp():返回对象的UNIX时间戳

3. datetime.datetime.strftime():返回格式化的日期字符串

4. datetime.datetime.strptime():解析日期字符串并返回datetime.datetime对象

以下是datetime.datetime类示例:

import datetime 

# 返回当前时间,输出格式为YYYY-MM-DD HH:MI:SS
current_time=datetime.datetime.now()
print(current_time)

# 将当前时间转换为UNIX时间戳
timestamp = current_time.timestamp()
print(timestamp)  

# 将datetime.datetime对象格式化为日期字符串
formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_time)  

# 解析日期字符串并返回datetime.datetime对象
new_time = datetime.datetime.strptime(formatted_time, "%Y-%m-%d %H:%M:%S")
print(new_time)

默认情况下,datetime.datetime.now()返回的日期格式为YYYY-MM-DD HH:MI:SS。

三、datetime.timedelta类

datetime.timedelta类可用于表示时间间隔。该类主要有以下方法。

1. datetime.timedelta.days,datetime.timedelta.seconds和datetime.timedelta.microseconds:用于返回对象的天、秒和微秒数

2. datetime.timedelta.total_seconds():返回timedelta对象的总秒数

以下是datetime.timedelta类示例:

import datetime 

# 计算两个日期之间的时间差
start_date = datetime.date(2022, 5, 1)
end_date = datetime.date(2022, 5, 10)
delta = end_date - start_date

# 输出timedelta对象的天数
print(delta.days)  

# 创建一个timedelta对象
td = datetime.timedelta(hours=1, minutes=30)
print(td.seconds) 

# 将timedelta对象的总秒数计算出来
total_seconds = td.total_seconds()
print(total_seconds) 

二、日期和时间格式化

在Python中,我们可以使用strftime函数将datetime时间表示格式化为字符串。以下是一些常见的日期和时间格式的表示方式:

| 符号 | 描述 | 例子 |

|------|----------------|--------------------------------|

| %a | 星期几的简写 | Mon |

| %A | 星期几的全称 | Monday |

| %w | 星期几的数字 | 0 = Sunday, …, 6 = Saturday |

| %d | 月份中的一天 | 01 |

| %b | 月份的简写 | Jan, Feb, …, Dec |

| %B | 月份的全称 | January, February, …, December |

| %m | 月份的数字 | 01, …, 12 |

| %y | 二位数的年份 | 99, 00, …, 49, 50, …, 99 |

| %Y | 四位数的年份 | 0001,…, 2019, 2020, …, 9999 |

| %H | 24小时制的小时 | 00, 01, …, 23 |

| %I | 12小时制的小时 | 01, 02, …, 12 |

| %p | AM 或 PM | AM, PM |

| %M | 分钟 | 00, 01, …, 59 |

| %S | 秒数 | 00, 01, …, 59 |

| %f | 微秒 | 000000, 000001, …, 999999 |

| %z | UTC 偏移量 | +0000 |

| %Z | 时区 | UTC, EST, CST, … |

| %j | 年中的一天 | 001, …, 365 (or 366) |

| %U | 年中的一周 | 00, 01, …, 53 |

| %c | 本地日期时间串 | Mon Sep 30 07:06:05 2013 |

| %x | 本地日期串 | 09/30/13 |

| %X | 本地时间串 | 07:06:05 |

| %% | 字符串 % | % |

以下是一个strftime函数的示例:

import datetime 

# 创建日期时间对象
current_time=datetime.datetime.now()

# 格式化日期输出
print(current_time.strftime('%Y-%m-%d %H:%M:%S')) 

输出:

2022-08-24 17:57:28

如上所述,datetime模块为Python提供了灵活且轻松的方法来处理日期和时间。本文解释了Python函数用于日期和时间处理的常见函数及其用法,以及日期和时间格式的表示方法。开发人员可以使用模块处理任何形式的日期和时间,包括时间戳、日期范围和时间间隔。