Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在python中验证日期字符串格式?

如何在python中验证日期字符串格式?

提问于 2018-03-13 20:43:35
回答 2关注 0查看 3.1K

我有一个python方法接受日期输入作为字符串

如何添加验证以确保传递给方法的日期字符串位于ffg中。格式:

代码语言:javascript
运行
AI代码解释
复制
'YYYY-MM-DD'

如果不是,方法应该会引起某种错误

回答 2

替身

回答已采纳

发布于 2018-03-14 05:37:34

代码语言:txt
AI代码解释
复制
>>> import datetime
>>> def validate(date_text):
    try:
        datetime.datetime.strptime(date_text, '%Y-%m-%d')
    except ValueError:
        raise ValueError("Incorrect data format, should be YYYY-MM-DD")


>>> validate('2003-12-23')
>>> validate('2003-12-32')

Traceback (most recent call last):
  File "<pyshell#20>", line 1, in <module>
    validate('2003-12-32')
  File "<pyshell#18>", line 5, in validate
    raise ValueError("Incorrect data format, should be YYYY-MM-DD")
ValueError: Incorrect data format, should be YYYY-MM-DD

Sunde

发布于 2018-03-14 06:40:16

在Python的dateutil库是专门为这个(及以上)。它会自动将它转换为一个datetime对象,并提出一个ValueError如果它不能。

举个例子:

代码语言:javascript
运行
AI代码解释
复制
>>> from dateutil.parser import parse
>>> parse("2003-09-25")
datetime.datetime(2003, 9, 25, 0, 0)

ValueError如果日期格式不正确,则会引发一次:

代码语言:javascript
运行
AI代码解释
复制
>>> parse("2003-09-251")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/jacinda/envs/dod-backend-dev/lib/python2.7/site-packages/dateutil/parser.py", line 720, in parse
    return DEFAULTPARSER.parse(timestr, **kwargs)
  File "/Users/jacinda/envs/dod-backend-dev/lib/python2.7/site-packages/dateutil/parser.py", line 317, in parse
    ret = default.replace(**repl)
ValueError: day is out of range for month

dateutil如果你将来需要解析其他格式,它也非常有用,因为它可以智能地处理大多数已知格式,并允许你修改规范。

如果你需要的话,它也处理时区。

和开发者交流更多问题细节吧,去 写回答
相关文章
Python中获取当前日期的格式
在Python里如何获取当前的日期和时间呢?在Python语言里,我们可以通过调用什么模块或者类函数来得到当前的时间或日期呢? 当然你可以使用时间模块(time module),该模块提供了各种和时间相关的函数。但是这个模块里的一些函数在某些平台里不可用。那么怎么办呢?我们 可以使用一个更高级的面向对象的接口函数:datetime。它提供了操作日期和时间的多种简单或复杂的方法。 python里使用time模块来获取当前的时间 1 2 3 time.strftime(format)
用户1217611
2018/01/30
5.1K0
Python中获取当前日期的格式
在Python里如何获取当前的日期和时间呢?在Python语言里,我们可以通过调用什么模块或者类函数来得到当前的时间或日期呢?
全栈程序员站长
2022/07/11
5K0
Python 日期格式相关
今天看网上一个说中文日期的问题. 自己试了下. #-*- coding: gb2312 -*- import datetime, time #now = time.strftime('%Y年%m月%d日 %H时%M分%S秒', time.localtime()).decode('utf-8') now = time.strftime('%Y年%m月%d日 %H时%M分%S秒', time.localtime()) print now now = time.strptime(now, '%Y年%m月%d
py3study
2020/01/06
1.5K0
java中判断字符串是否日期格式的方法
一个字符串其实就是一个简单的正则表达式,例如 Hello World 正则表达式匹配 "Hello World" 字符串。
Java架构师必看
2021/12/21
4.5K0
mysql时间戳格式转换日期格式字符串
注:方法2时,需要先用unix_timestamp()方法将数据转换成时间戳格式,再用from_unixtime()方法将时间戳转换成自定义格式时间字符串。直接用from_unixtime()方法转换出来的数据NULL。
全栈程序员站长
2022/06/24
5.3K0
python中时间日期格式化符号
python中时间日期格式化符号: import time print(time.strftime('%Y%H%M%S', time.localtime())) 运行结果: 2016092308 %y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数(0-23) %I 12小时制小时数(01-12) %M 分钟数(00=59) %S 秒(00-59) %a 本地简化星期名称 %A 本地完整星期名称 %
机器学习和大数据挖掘
2019/07/02
2.2K0
python 格式化日期
(1)time.asctime(time.localtime(time.time()))
py3study
2020/01/14
2.2K0
java 日期格式化– SimpleDateFormat 的使用。字符串转日期,日期转字符串
日期和时间格式由 日期和时间模式字符串 指定。在 日期和时间模式字符串 中,未加引号的字母 ‘A’ 到 ‘Z’ 和 ‘a’ 到 ‘z’ 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号 (‘) 引起来,以免进行解释。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串 白话文的讲:这些A——Z,a——z这些字母(不被单引号包围的)会被特殊处理替换为对应的日期时间,其他的字符串还是原样输出。
全栈程序员站长
2022/07/01
5.8K0
java 日期格式化– SimpleDateFormat 的使用。字符串转日期,日期转字符串
如何在 Python 中反转字符串?
在 Python 中,字符串是 Unicode 字符的序列,尽管 Python 支持许多用于字符串操作的函数,但它没有明确设计用于反转字符串的内置函数或方法。
网络技术联盟站
2022/03/15
2.9K0
Flutter中的日期格式转换
1. Flutter中的日期转换 // 初始化当前日期 DateTime _nowDate = DateTime.now(); // 获取当前时间 print(_nowDate); // 2021-01-01 18:18:37.522021 // 获取当前时间戳 print(_nowDate.millisecondsSinceEpoch); // 1609496743946 // 将时间戳转为格式化的时间 print(DateTime.fromMillisecondsSinceEpoch(160949
越陌度阡
2021/01/05
6.4K0
Python日期时间格式化
update_str = datetime.strptime(update_stan, '%y-%m-%d %H:%M:%S')
用户7886150
2021/01/19
2.5K0
如何在Python中处理日期和时间相关问题
在许多应用程序中,我们需要处理日期和时间相关的问题。无论是计算时长、格式化日期、还是进行日期运算,Python提供了丰富的库和模块来满足我们的需求。下面,我将为您介绍一些实用的技巧和操作,帮助您更好地处理日期和时间相关的问题。
用户614136809
2023/09/26
5830
python日期格式化操作
2.格式更改 如a = “2013-10-10 23:40:00”,想改为 a = “2013/10/10 23:40:00” 方法:先转换为时间数组,然后转换为其他格式 复制代码代码如下:
周小董
2019/03/25
5.9K0
mysql日期格式转换_MySQL日期格式转换
DATE_FORMAT(date,format):根据参数对date进行格式化。1
全栈程序员站长
2022/07/02
13.1K0
python中的字符串格式化
字符串格式化,就是将字符常量和变量相结合,同时控制其显示格式。在python中,支持多种字符串格式化的语法
生信修炼手册
2020/05/07
1.8K0
python 中的字符串格式化
python 中的字符串格式化 %方式的调用 1。格式化代码 代码 意义 s 字符串,使用str r 字符串,使用repr不使用str c 字符 d 十进制的数字 i 整数 u 无符号整数 o 八进制 x 十六进制 X 大写十六进制 e 浮点指数 E 大写浮点指数 f 十进制浮点 F 大写十进制浮点 g 浮点e或者f G 浮点E或者F 2.对齐方式 1. 左对齐 '%-6d' % 5 #结果 '5 ' 2. 右对齐补0对齐 '%06%' % 5 #结果 '000005' 3. 右对齐补充空格 '
py3study
2020/01/20
1.1K0
python 日期 字符串 互转
def datetime_toString(dt): return dt.strftime("%Y-%m-%d-%H")
用户5760343
2019/07/05
1.3K0
Python MySQL 日期时间格式化
1.我的MySQL中的start_time存储的是2018-03-21 10:55:32格式的时间,我需要按照YYYY-MM-DD格式来查询,我的MySQL中的sql是这样写的:
py3study
2020/01/08
4.1K0
mysql日期格式化 yyyymmdd_mysql中时间日期格式化
这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内:
全栈程序员站长
2022/09/02
5.9K0
sql日期时间转换成字符串_把时间格式转化为字符串格式
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/10
2.2K0

相似问题

关于Katalon Studio这款软件,如何导出其他格式的脚本(如:java/python)?

0171

python中如何将类似于‘01-05’这样的字符串转化为日期格式?

1608

如何用日期格式匹配日期时间格式并返回结果?

093

如何使用正则表达式来验证日期时间格式(MM / DD / YYYY)?

21.7K

如何在Python中获取文件创建和修改日期/时间?

22.4K
相关问答用户
某公司 | 程序员擅长1个领域
腾讯云TDP | 先锋会员擅长2个领域
新浪微博 | 高级总监擅长4个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档