我的React-Native应用程序中有两个字段,一个用于日期,另一个用于时间。日期字段返回格式' YYYY-MM-DD'的值。并且时间字段返回格式值' hh:mm A' .I' m使用时刻进行格式转换。最终的API调用应使用格式' YYYY-MM-DDTHH:mm'的单个条目进行,以便连接我使用的日期和时间,
> mapM_ print $ eqElem 2 "c" [[3,1,2,4],[1,4,2,3],[1,3,4,2]] [["a","b","c","d"],["d","a","c","b"],["c","b","a","d"],["d","b","c","a"]]
([1,4,2,3],["d","b","c","a"])
([1,4,2,3],["d","a","c","b"])
([1,4,2,3],["a","b","c","d"])
([3,1,2,4],["d","b","c","a"])
([3,1,2,4],["d","a","c","b"])
([3,1,2,4],["a","b","c","d"])
它在Android和iOS的模拟器中运行良好,而且当我在设备上进行调试时,但是当我为两者进行构建时它都会开始返回
无效日期。
编辑:尝试moment(date+ " "+time).format("YYYY-MM-DDTHH:mm:ss")
,同时返回“无效日期”'在构建中。
还尝试使用moment(date + " " + value).format();
Date
直接进行,而不提供任何格式,也会返回“无效日期”。在构建中。
答案 0 :(得分:2)
您必须使用moment(String, String)
,因为您的输入既不是ISO 8601也不是RFC 2822格式。
正如moment(String)
所述:
当从字符串创建片刻时,我们首先检查字符串是否与已知的ISO 8601格式匹配,然后检查字符串是否与RFC 2822日期时间格式匹配,然后在知道
new Date(string)
后退找不到格式。为了解析除ISO 8601字符串以外的任何其他内容的一致结果,您应该使用String + Format。
在您的情况下,您可以使用:
moment(date+ " "+time, "YYYY-MM-DD hh:mm a").format("YYYY-MM-DDTHH:mm:ss")