日期正在考虑每月的31天 [英] Date is considering 31 days of month

查看:83
本文介绍了日期正在考虑每月的31天的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在处理日期差时,当我使用下面的代码时,函数以某种方式假定所有月份都为31天。对于前。如果我将2月28日减去3月1日,则相差4天。有什么简单的方法可以解决这个问题。

While working with date difference, when I am using below code somehow function is assuming that all the months have 31 days. For ex. if I am subtracting 01-March with 28-February the difference is coming as 4 days. Is there any simple way to twick this. Any help will be appreciated.

function myFunction()
{

var sysdt = "02/28/2013";
var year = sysdt.substring(6,10);
var mon = sysdt.substring(0,2);
var date = sysdt.substring(3,5);
var n = Date.UTC(year,mon,date);



var userdt = "03/01/2013"
var yr = userdt.substring(6,10);
var mn = userdt.substring(0,2);
var dd = userdt.substring(3,5);
var n1 = Date.UTC(yr,mn,dd);


var x = document.getElementById("demo");
x.innerHTML=(n1-n)/(1000*24*60*60);

}


推荐答案

var sysdt = "02/28/2013";
var date1 = new Date(sysdt);

var userdt = "03/01/2013"
var date2 = new Date(userdt);

var days = (date2-date1)/(1000*24*60*60);

或从您的代码中的月份中减去1

or subtract 1 from month in your code

var sysdt = "02/28/2013";
var year = sysdt.substring(6,10);
var mon = sysdt.substring(0,2)-1; // months are from 0 to 11
var date = sysdt.substring(3,5);
var n = Date.UTC(year,mon,date);



var userdt = "03/01/2013"
var yr = userdt.substring(6,10);
var mn = userdt.substring(0,2)-1; // months are from 0 to 11
var dd = userdt.substring(3,5);
var n1 = Date.UTC(yr,mn,dd);

var days = (n1-n)/(1000*24*60*60);

这篇关于日期正在考虑每月的31天的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆