获取两个日期之间的天数
Get days between two Dates
Function countdays(){
var oneday = 24*60*60*1000;
var sd = $('#sdate').val();// Start date from DOM element type input text(DD/MM/YYYY)
var start_date = new Date(sd);
var ed = $('#edate').val();// End date from DOM element type input text(DD/MM/YYYY)
var end_date = new Date(ed);
var days = Math.floor((start_date.getTime() - end_date.getTime())/(oneday));
alert(days);
}
我正在尝试运行这个函数,当我将日期设置为开始日期和结束日期的格式为 DD/MM/YYYY 时,JavaScript 采用 MM/DD/YYYY。
有什么方法可以将我的日期格式保持为 DD/MM/YYYY 并获得开始日期和结束日期之间的差异
切勿使用 new Date(string)
,因为它取决于用户的区域设置。
您应该将日期字符串分解为年,月和日,然后调用new Date(year, month - 1, day)
您正确地使用getTime
来查找天数。
我可以在JavaScript中操作DateTimes时为MomentJS做一个宣传吗? 原始日期对象有很多极端情况。 如果你使用MomentJS,你可以使用差分方法。
var start_date = moment(sd);
var end_date = moment(ed);
var days = end_date.diff(start_date, "days");
console.log(days); // should be the integer you want to test
使用 MomentJS 的额外好处是,当您在 3 个月后回到逻辑时,代码是可读的,它允许您针对时区等奇怪的事情进行调整。
尝试自己处理日期格式。
function parseDate(str) {
var d = str.split('/')
return new Date(parseInt(d[2]),parseInt(d[1]) - 1, parseInt(d[0]));
}
function countdays(){
var oneday = 24*60*60*1000;
var start_date = parseDate($('#sdate').val());
var end_date = parseDate($('#edate').val());
var days = Math.floor((start_date.getTime() - end_date.getTime())/(oneday));
alert(days);
}
相关文章:
- 如何在javascript中获取两个日期之间的周六和周日的日期
- 如何用moment.js列出两个日期之间的所有月份
- 我希望这个日期选择器可以从1990年到2000年之间的年份中选择日期
- moment.js在两个时区格式的日期之间存在差异
- Javascript-如何使用bootstrap日期时间选择器自动计算两个时间输入之间的差异
- 用时间戳获取两个不同日期之间的时间差
- JavaScript函数,用于计算两个日期之间的年、月和天数
- 再次使用JavaScript计算两个日期之间的天数
- Mongoose查询在两个日期时间之间提取数据
- 在Javascript中计算两个日期之间的工作日,节假日除外
- 在Jquery或Javascript中获取两个范围或日期之间的通信周数
- 如何使用moment.js获取24小时内日期之间的时差
- 两个日期之间的差异
- JavaScript-计算两个日期之间的天数(包括结束日期)
- 在 JavaScript 中单击函数时两个日期类型输入之间的差异的代码
- Ext 4.2.1 模型日期解析在浏览器之间不一致
- 夏令时期间不起作用的 2 个日期之间的小时差异
- 如何在javascript中计算两个日期时间之间的差异
- 考虑到夏令时,Java和JavaScript之间“日期”交换的最佳实践
- 给定一个开始日期和结束日期,创建一个包含这两个日期之间日期的数组