好的,我正在写一些代码片段来获取昨天的ISO日期格式值。奇怪的JavaScript算术行为(yup ...预计)
代码:
var dateString = new Date();
var yesterday = dateString.getFullYear();
yesterday += "-"+dateString.getMonth()+1;
yesterday += "-"+dateString.getDate()-1;
上面的代码输出2009-111-23。显然不是将dateString.getMonth()当作一个intiger,并且在它的最后加上1。
将“ - ”+放在dateString.getDate()前面是否将getDate()转换为字符串?
这项工作得到了预期的结果。
var dateString = new Date();
var yesterday = dateString.getFullYear() + "-";
yesterday += dateString.getMonth()+1+ "-";
yesterday += dateString.getDate()-1;
//yesterday = 2009-12-22
尽管我并不喜欢它的外观......不管什么大不了的。
任何人都可以向我解释为什么JavaScript的行为是这样的?有什么解释为什么发生这种情况?
好的呼叫...我会想出一些东西 - 有效与否。为什么它的行为如此? 你应该发布这样的评论中的东西...对吗? (新的这个网站......不知道这是否是通常的做法) – 2009-12-23 15:05:19