Python日期时间转换:以英文日期转换为例
在数据分析和处理中,经常需要对不同格式的日期时间进行转换。本文将以英文日期转换为例,介绍Python datetime模块的使用方法。
1. 获取英文日期时间字符串
假设我们从页面获取了一个英文格式的日期时间字符串:"Mar 09, 2018",希望将其转换成标准的日期时间格式:"2018-03-09"。
2. 使用datetime模块转换成datetime对象
要实现这个目标,首先需要把字符串转换成datetime对象。可以使用datetime模块中的strptime方法,该方法接受两个参数:第一个参数是待转换的字符串,第二个参数是字符串对应的日期时间格式。下面是一个格式化表格。
| Code | Meaning |
|------|---------|
| %a | Weekday abbreviated name (Sun, Mon, Tue, etc.) |
| %A | Weekday full name (Sunday, Monday, Tuesday, etc.) |
| %b | Month abbreviated name (Jan, Feb, Mar, etc.) |
| %B | Month full name (January, February, March, etc.) |
| %c | Locale’s appropriate date and time representation |
| %d | Day of the month (01 to 31) |
| %H | Hour in 24-hour format (00 to 23) |
| %I | Hour in 12-hour format (01 to 12) |
| %j | Day of the year (001 to 366) |
| %m | Month as a decimal number (01 to 12) |
| %M | Minute (00 to 59) |
| %p | AM or PM |
| %S | Second (00 to 59) |
| %U | Week number of the year (Sunday as the first day of the week) |
| %w | Weekday as a decimal number (0 to 6; Sunday is 0) |
| %W | Week number of the year (Monday as the first day of the week) |
| %x | Locale’s appropriate date representation |
| %X | Locale’s appropriate time representation |
| %y | Year without century (00 to 99) |
| %Y | Year with century |
| %z | UTC offset in the form HHMM or -HHMM |
| %Z | Time zone name (empty string if the object is naive) |
| %% | A literal '%' character |
通过查看上表,可以得知把"Mar 09, 2018"转换成datetime对象的格式为"%b %d, %Y"。
下面是代码示例:
```python
import datetime
t "Mar 09, 2018"
dt (t, '%b %d, %Y')
```
3. 把datetime对象转换成字符串
有了datetime对象后,再把它转换成字符串就容易了。可以使用strftime方法,该方法接受一个字符串参数,表示待转换成的日期时间格式。下面的代码把datetime对象转换成标准的日期时间格式:"2018-03-09"。
```python
formatted_date ('%Y-%m-%d')
```
4. 使用一行代码实现转换
以上步骤可以用一行代码实现:
```python
formatted_date str((t, '%b %d, %Y')).split(' ')[0]
```
5. 推荐阅读官方代码例子
除了本文介绍的转换方法外,Python datetime模块还提供了很多其他有用的功能,例如计算日期时间差、生成指定日期时间间隔的时间序列等等。更多详情请参阅官方文档:datetime-objects
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。