- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
这是一个场景。
例子:
实现:
CultureInfo.DateTimeFormat.GetAllDateTimePatterns()
DateTime.TryParseExact(dateString, pattern, culture, DateTimeStyles.None, out resultingDate)
对于上面的每个模式,看看它是否可以解析日期。但是如果我们迭代所有这些模式,它将找不到任何匹配项!
如果你尝试使用 DateTime.TryParse(dateString, culture, DateTimeStyles.None, out resultingDate)
会更奇怪并且它确实解析了正确的日期!
所以问题是 DateTime.TryParse
是怎么来的?当此信息不是 CultureInfo
的一部分时,知道日期字符串的模式以及如何在一种文化中获取这些信息?
谢谢!
最佳答案
我同意 xanatos,对此没有完美解决方案,您不能假设每个格式GetAllDateTimePatterns
返回值可以用 Parse
或 TryParse
方法完美解析。
来自 DateTimeFormatInfo.GetAllDateTimePatterns
;
You can use the custom format strings in the array returned by the
GetAllDateTimePatterns
method in formatting operations. However, if you do, the string representation of a date and time value returned in that formatting operation cannot always be parsed successfully by theParse
andTryParse
methods. Therefore, you cannot assume that the custom format strings returned by theGetAllDateTimePatterns
method can be used to round-trip date and time values.
如果您看到 Remarks
section页面上,GetAllDateTimePatterns
方法返回的96种格式中,TryParse
方法可以解析的格式只有42种,it-IT
culture for例子.7
Tarek Mahmoud Sayed 回应为;
Parse/TryParse are implemented as finite state machine so it doesn’t really use the date patterns in parsing. It just split the parsed string into tokens and try to find if the token match specific part of the date (like Month, day, day of week…etc.). in the other hand ParseExact/TryParseExact will just parse the string according to the passed format pattern.
关于c# - DateTime.TryParse 如何知道日期格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36058319/
我正在尝试使用以下方法对 datetime.datetime 对象列表求和: from datetime import datetime, timedelta d= [datetime.datetim
我正在尝试这个 (datetime.datetime.today()-datetime.datetime.today()).days 给出 -1 并期待值 0 而不是我得到 -1。在这种情况下,我将结
如果我列一个时间增量的列表,平均值比我对这些增量的微秒值求平均时要大。为什么会这样呢?。赠送。这是Linux上的Python3.8.10。
考虑以下片段: import datetime print(datetime.datetime.now() - datetime.datetime.now()) 在 x86_64 Linux 下的 P
如何在 SQLAlchemy 查询中比较 DateTime 字段和 datetime.datetime 对象? 例如,如果我这样做 candidates = session.query(User).f
我收到以下错误: type object 'datetime.datetime' has no attribute 'datetime' 在下面一行: date = datetime.datetime
尝试找出如何将当前日期锁定为变量,以从输入的 self.birthday 中减去。我已经查看了各种示例和链接,但无济于事......建议? from datetime import datetime
您好,我有一些 datetime.datetime 格式的日期,我用它们来过滤带有 Pandas 时间戳的 Pandas 数据框。我刚刚尝试了以下方法并获得了 2 小时的偏移量: from datet
如果您调用 datetime.datetime.now(datetime.timezone.utc) 您会得到类似 datetime.datetime(2021, 9, 8, 1, 33, 19, 6
我正在使用 pywin32 读取/写入 Excel 文件。我在 Excel 中有一些日期,以 yyyy-mm-dd hh:mm:ss 格式存储。我想将它们作为 datetime.datetime 对象
据我所知,自 Unix 纪元(1970-01-01 00:00:00 UTC)以来的秒数在全局各地应该是相同的,因为它固定为 UTC。 现在,如果您所在的时区有几个小时 +/- UTC,为什么这样做会
我正在尝试添加 datetime.datetime 和 datetime.time 以获得一列。我正在尝试结合: import datetime as dt dt.datetime.combine(m
我有一个脚本需要在脚本的不同行执行以下操作: today_date = datetime.date.today() date_time = datetime.strp(date_time_string
我在 AppEngine 上收到 type object 'datetime.datetime' has no attribute 'datetime' 错误,提示日期时间类型,但我的导入是 impo
所以我一直在使用 python 语言制作东西。我遇到了一些不太容易理解的错误: TypeError: 'datetime.datetime' object is not subscriptable (
当我运行时 from datetime import date, time, timedelta date(2012, 11, 1) + timedelta(0, 3600) 结果是 datetime
我的目标是转换 utc进入loc : use chrono::{Local, UTC, TimeZone}; let utc = chrono::UTC::now(); let loc = chron
假设您有一个 datetime.date 对象,例如 datetime.date.today() 返回的对象。 稍后您还会得到一个表示时间的字符串,它补充了日期对象。 在 datetime.datet
我试过了 In [16]: import datetime In [17]: now = datetime.datetime.utcnow() In [18]: isinstance(now, dat
我有以下代码并且收到上述错误。由于我是 python 新手,因此无法理解此处的语法以及如何修复错误: if not start or date < start: start = date 最佳答案 有
我是一名优秀的程序员,十分优秀!