python判断字符串是否包含日期
时间: 2023-07-31 12:07:57 浏览: 99
你可以使用Python中的datetime模块来判断字符串是否包含日期。以下是一个简单的示例代码:
```python
from datetime import datetime
def contains_date(string):
try:
datetime.strptime(string, '%Y-%m-%d')
return True
except ValueError:
return False
# 示例
print(contains_date('2021-01-01')) # True
print(contains_date('Hello, world!')) # False
```
在这个例子中,我们定义了一个名为`contains_date`的函数,它接受一个字符串作为参数并返回一个布尔值。我们使用`strptime`函数尝试将该字符串解析为一个日期时间对象,如果能够成功解析,则说明该字符串包含一个日期,并返回`True`。如果解析失败,则说明该字符串不包含日期,并返回`False`。
相关问题
python 判断字符串是否为日期,日期包含多种格式
如果要判断字符串是否为日期,日期包含多种格式,可以使用第三方库 dateutil 中的 parse 方法来实现。具体可以按照以下步骤进行操作:
1. 安装 dateutil 库
```python
!pip install python-dateutil
```
2. 导入 dateutil 库
```python
from dateutil.parser import parse
```
3. 使用 try-except 语句来尝试将字符串转换为日期,如果成功则说明该字符串为日期,否则不是日期。
```python
date_string = '2022-10-01' # 要判断的字符串
try:
parse(date_string)
print("是日期")
except ValueError:
print("不是日期")
```
注意:dateutil 中的 parse 方法可以自动识别多种日期格式,例如:"2022-10-01"、"10/01/2022"、"2022年10月1日" 等等。如果字符串不能转换为日期,则会抛出 ValueError 异常。
python 判断是否为年月日 时分秒日期
可以将上面的代码稍作修改,修改参数 format 为包含时分秒的日期格式即可。例如,'%Y-%m-%d %H:%M:%S' 表示年-月-日 时:分:秒的格式,具体代码如下:
```python
import datetime
def is_datetime(string, format='%Y-%m-%d %H:%M:%S'):
try:
datetime.datetime.strptime(string, format)
return True
except ValueError:
return False
# 测试
print(is_datetime('2021-09-22 12:34:56')) # True
print(is_datetime('2021-09-22 24:00:00')) # False
```
该函数同样接收两个参数,第一个是待判断的字符串,第二个是包含时分秒的日期格式,默认为 '%Y-%m-%d %H:%M:%S'。函数首先尝试将字符串按照给定的格式转换为 datetime.datetime 对象,如果转换成功,则说明该字符串为有效的日期时间,返回 True;否则返回 False。