我要为这么简单的事情发疯了。我想把一个字符串解析成一个datetime,但是它总是返回null。
如果我执行todatetime(strcat(2020,"-11-7"))
,它将返回null。如果我使用todatetime("2020-11-7")
,它就能正常工作。我比较了这两个字符串,它们是相等的。
这是我正在测试的代码:
let dateStr = strcat(2020,"-11-7");
let dateStr2 = "2020-11-7";
print dateStr == dateStr2 // True
print todatetime(dateStr) == todatetime(dateStr2) // False
你知道为什么会发生这种情况吗?我该如何解决它?
发布于 2021-01-23 14:03:30
您尝试将strcat(2020,"-11-7")
转换为datetime
失败,因为创建的字符串不是受支持的日期时间格式。请参阅doc中支持的格式列表。
但是,如果您尝试转换strcat(2020,"-11-07")
(请注意07
,而不仅仅是7
),那么它将产生所需的结果。
为了向后兼容,将"2020-11-7"
转换为datetime
确实有效(就像您注意到的那样),尽管这不是一种受支持的格式(但建议在任何情况下都不要使用不受支持的格式)。
https://stackoverflow.com/questions/65853355
复制相似问题