我快要为这么简单的事情失去理智了。我想将字符串解析为日期时间,但它一直返回 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
知道为什么会发生这种情况,我该如何解决?
答案 0 :(得分:1)
您尝试将 strcat(2020,"-11-7")
转换为 datetime
失败,因为创建的字符串不是受支持的日期时间格式。请参阅 doc 中支持的格式列表。
但是,如果您尝试转换 strcat(2020,"-11-07")
(注意 07
而不是仅 7
),那么它将产生所需的结果。
将 "2020-11-7"
转换为 datetime
确实有效(如您所见),即使这不是受支持的格式,但为了向后兼容(但建议在任何情况下都不要使用不受支持的格式)。