python 将日期'2018-08-01' 转为int 20180801
时间: 2023-02-24 20:34:12 浏览: 123
你可以使用 python 的 `datetime` 库将字符串类型的日期转换为整数。
示例代码:
```python
from datetime import datetime
date_str = '2018-08-01'
date = datetime.strptime(date_str, '%Y-%m-%d')
date_int = int(date.strftime('%Y%m%d'))
print(date_int) # 20180801
```
在这段代码中,我们首先使用 `datetime.strptime` 将字符串类型的日期转换为 `datetime` 类型。然后,使用 `strftime` 将 `datetime` 类型的日期格式化为字符串,最后再将字符串类型的日期转换为整数。
相关问题
python字符串日期转为int类型
可以使用Python内置的datetime模块来实现字符串日期转为int类型的操作。具体的实现方法如下:
```python
from datetime import datetime
date_str = "2022-01-01"
date_obj = datetime.strptime(date_str, "%Y-%m-%d")
date_int = int(date_obj.timestamp())
print(date_int)
```
解释一下上述代码:
1. 首先导入datetime模块。
2. 定义一个字符串类型的日期date_str。
3. 使用datetime模块中的strptime函数将字符串类型的日期转换为datetime对象date_obj,其中"%Y-%m-%d"是指定日期字符串的格式。
4. 使用datetime对象的timestamp方法将日期转换为时间戳(单位为秒)。
5. 最后使用int函数将时间戳转换为整型。
6. 打印输出结果date_int。
Python将16进制字符串时间转为正常时间
在Python中,将16进制字符串时间转换为正常时间,需要先将其转换为日期类型,然后再使用`strftime()`方法将其格式化为正常时间。具体实现可以使用以下代码:
```python
from datetime import datetime
hex_time = '0x22a0d8d200' # 16进制字符串时间
timestamp = int(hex_time, 16) # 将16进制字符串时间转换为时间戳
date = datetime.fromtimestamp(timestamp) # 将时间戳转换为日期类型
formatted_date = date.strftime('%Y-%m-%d %H:%M:%S') # 将日期类型格式化为正常时间
print(formatted_date) # 输出格式化后的正常时间
```
上面的代码将16进制字符串时间`0x22a0d8d200`转换为正常时间。具体实现中,使用了`int()`函数将16进制字符串时间转换为时间戳,然后使用`fromtimestamp()`方法将时间戳转换为日期类型。最后使用`strftime()`方法将日期类型格式化为正常时间,并输出格式化后的正常时间。
需要注意的是,这里使用的`fromtimestamp()`方法将时间戳转换为本地时区的日期类型。如果需要将时间戳转换为UTC时间,可以使用`utcfromtimestamp()`方法。