使用Date.getTime()计算日期时出错
Error calculating dates with Date.getTime()
我有这样的代码:
f_sal = new Date( f_sal.getFullYear(), f_sal.getMonth(), f_sal.getDate() );
f_reg = new Date( f_reg.getFullYear(), f_reg.getMonth(), f_reg.getDate() );
var unDia = 1000 * 60 * 60 * 24;
difDias = Math.round((f_reg.getTime() - f_sal.getTime()) / unDia );
如果f_sal值为2012年6月9日,f_reg值为2012月7日,则difDias值为1天(正确)。但如果f_reg值为2012年10月6日,则difDias值为31天。。。正确的结果是30天。
我的错在哪里?
我认为使用Math.floor()
而不是Math.round()
更有意义。所以你应该这样做:
difDias = Math.floor((f_reg.getTime() - f_sal.getTime()) / unDia );
好的,问题是定义月份,因为它们是基于零的,所以现在我做f_sal.getMonth()-1,问题就解决了。
相关文章:
- 比较从函数和生成的日期对象
- javascript中的数组出错
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- Json数据包含日期和时间格式
- Javascript日期格式类似于ISO,但本地
- 分析d3中的日期时出错
- 使用Date.getTime()计算日期时出错
- 过滤日期范围 angularjs 时出错
- Jquery日期选择器验证出错
- setHours()从电子表格导入的日期创建谷歌日历事件时出错-应用程序脚本
- moment:使用用户语言格式化日期时出错
- 呈现高库存日期时出错
- 日期比较出错
- 向 js 日期对象添加分钟时出错
- 从URL解析日期时出错
- 在qml黑莓中将日期时间转换为毫秒时出错
- 使用' new date '解析日期字符串时出错
- ";无效日期";将字符串转换为日期时出错
- JavaScript日期对象增量出错
- 尝试用JavaScript向日期添加天数时出错