首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用javascript或datejs比较两个日期(日期差异)

使用javascript或datejs比较两个日期(日期差异)
EN

Stack Overflow用户
提问于 2011-08-03 16:06:42
回答 3查看 10K关注 0票数 10

我正在尝试比较两个日期,它们的芬兰时间格式如下: dd.mm.YYYY或d.m.YYYY或dd.m.YYYY或d.mm.YYYY。

我很难找到如何做到这一点,我目前的代码将无法工作。

代码语言:javascript
运行
复制
<script src="inc/date-fi-FI.js" type="text/javascript"></script>
<script type="text/javascript">
    function parseDate() {
        var date = $('#date').val();
        var parsedDate = Date.parse(date);
        alert('Parsed date: '+parsedDate);
    }
    function jämförMedIdag (datum) {
    if (datum == null || datum == "") {
        alert('Inget datum!');
        return;
    }
    /*resultat = Date.compare(Datum1,Datum2);
    alert(resultat); */
    var datum = Date.parse(datum);
    var dagar = datum.getDate();
    var månader = datum.getMonth();
    var år = datum.getYear();
    var nyttDatum = new Date();
    nyttDatum.setFullYear(år,månader,dagar);
    var idag = new Date();

    if(nyttDatum>idag) {
        var svar = nyttDatum - idag;
        svar = svar.toString("dd.MM.yyyy");
        alert(svar);
        return(svar);
    } else {
        var svar = idag - nyttDatum;
        svar = svar.toString("dd.MM.yyyy");
        alert(svar);
        return(svar);
    }
}    
</script>

此代码将尝试计算两个日期之间的差异,其中一个日期是今天。没有成功的罗兹。

提前感谢!

我的最终代码(感谢RobG!):

代码语言:javascript
运行
复制
function dateDiff(a,b,format) {
    var milliseconds = toDate(a) - toDate(b);
    var days = milliseconds / 86400000;
    var hours = milliseconds / 3600000;
    var weeks = milliseconds / 604800000;
    var months = milliseconds / 2628000000;
    var years = milliseconds / 31557600000;
    if (format == "h") {
        return Math.round(hours);
    }
    if (format == "d") {
        return Math.round(days);
    }
    if (format == "w") {
        return Math.round(weeks);
    }
    if (format == "m") {
        return Math.round(months);
    }
    if (format == "y") {
        return Math.round(years);
    }
}

它不是完全准确的,但非常接近。我最终添加了一些插件来计算日、周、月、年或小时,任何人都可以自由复制和使用这段代码。

EN

Stack Overflow用户

发布于 2013-04-03 15:13:42

使用Date对象:

代码语言:javascript
运行
复制
var today = Date.today();
var dateToday = Date.parse(today.toString('MMMM d, yyyy'));

var prevMonthDate = dateToday.addDays(-30);

var difference = (dateToday - prevMonthDate)/86400000;

console.log(difference);   //will give you the difference in days. 
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6923393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档