我在尝试使用JavaScript格式化日期时遇到了一些问题。这是代码:
var date = new Date(tenderClosingDate);
var d = new Date(date.toLocaleDateString());
tenderClosingDate = ((d.getUTCMonth() + 1) + "/" + (d.getUTCDate() + 1) + "/" + (d.getUTCFullYear()));
通过使用此代码,11/29/2012应该可以工作,但不知何故它返回NaN。有没有办法将它格式化为dd / mm / yyyy?
提前致谢。
答案 0 :(得分:0)
您似乎有一个日期......并且您尝试以该浏览器无法识别的方式创建该日期的新日期...
只需使用date.getUTCMonth()
等。
另请注意,虽然月份是从0开始的(在['Jan','Feb',...]
这样的数组中使用),但日期不是,你最终会对1月32日这样的事情感到愚蠢。
答案 1 :(得分:0)
仅当tenderClosingDate
的原始值包含自1970年1月1日00:00:00 UTC(Unix Epoch)以来经过的毫秒数或表示日期的字符串值时,此代码才有效。如果tenderClosingDate
的原始值是空字符串,无法由Date.parse
或undefined
解析的日期字符串,则结果将包含NaN
s。