【问题标题】:Javascript time that display current and +1 date显示当前和 +1 日期的 Javascript 时间
【发布时间】:2014-06-10 00:47:06
【问题描述】:

我有一个 48 小时的时间表。我正在使用 JavaScript 日期函数。我正在寻找以下格式,但我不确定如何实现它。我想显示今天的日期和第二天。

DD - DD+1 MMM YY

    <script> 
        var d = new Date();
        var n = d.getDate();
        document.write(n);

    </script>

http://jsfiddle.net/deaconf19/bGm6c/

谢谢

【问题讨论】:

  • DD - DD+1 MMM YY 到底是什么意思?似乎是一种奇怪的格式!
  • @adeneo 我猜它的意思类似于24-25 April 2014(或044,而不是April),其中24 是今天的日期。
  • 正确,我并不是说它是我使用的内容的字面翻译
  • 月底会发生什么? 4月30日是什么样子?或者就此而言,12 月 31 日会是什么样子?
  • 如果您对上述问题提出答案,我可以发布答案。好点@p.s.w.g

标签: javascript html


【解决方案1】:

假设你的日期是d

d.setDate(d.getDate() + 1); // add 1 day to d

这基本上是@ambarox 答案的原位变体。

概括应该是显而易见的......

操作代码的独立版本:

<script> 
    var d = new Date()
      , t = new Date()
      ;

    t.setDate(d.getDate() + 1);
    if (d.getMonth() === t.getMonth()) {
        document.write(d.getDay() + " - ");
    }
    else {
        if (d.getYear() === t.getYear()) {
            document.write(d.getDay() + "." + d.getMonth());
        }
        else {
            document.write(d.getDay() + "." + d.getMonth() + "." + d.getYear());
        }
    }
    document.write(" - " + t);
</script>

this SO answer 中引用了有关如何添加/减去不同时间和日期值以及可用方法的更多详细信息。

【讨论】:

    【解决方案2】:
    var d = new Date();
    
    var month = new Array();
    month[0]="Jan";
    month[1]="Feb";
    month[2]="Mar";
    month[3]="Apr";
    month[4]="May";
    month[5]="Jun";
    month[6]="Jul";
    month[7]="Aug";
    month[8]="Sep";
    month[9]="Oct";
    month[10]="Nov";
    month[11]="Dec";
    
    var m = month[d.getMonth()];
    var d1 = new Date(new Date().getTime() + 24 * 60 * 60 * 1000);
    var m1 = month[d1.getMonth()];
    
    $("#date").append(d.getDate() + " " + m + " " + d.getFullYear() + " - " + d1.getDate() + " " + m1 + " " + d1.getFullYear());
    

    来看看 http://jsfiddle.net/N0ir/bGm6c/4/

    【讨论】:

    • 这不处理月末或年末日期。例如,如果当前日期是 4 月 30 日(请记住,4 月没有第 31 天),则输出错误为 30 - 31 Apr 2014。同样,对于新年前夜(12 月 31 日),它是31 - 32 Dec 2014。这是因为Date.prototype.getDate 返回的是月份的天数,没有别的。
    • @ajp15243 我很菜鸟没看到,做了调整
    • @N0ir 好吧,现在是 30 - 1 Apr 2014 :)
    • 您需要在新代码中创建一个三元条件来查看 d1 是否小于 d。如果是这样,请更改月份或根本不添加它。至少我会这样做
    • @N0ir +1 看起来对我有用!虽然,如果你想真正了解技术,我只记得闰年仍然需要​​考虑,但是检查当前年份是否是闰年还有更多逻辑。
    【解决方案3】:
        <script> 
                var d = new Date();
                var n = d.getDate(); 
                var tomorrow = new Date();
                tomorrow.setDate(n+1);
                document.write(n);
                document.write(" ");
                document.write(tomorrow.getDate());
        </script>
    

    【讨论】:

    • 效果很好,谢谢,这正是我想要的。
    • @JeremyA1 - 至少要等到月底,但我们总是欢迎您在 6 天内回来。
    • @adeneno - 你是对的,它现在显示 32 天而不是月初。我在这里找到了一个修复程序,但是当我实现它时,它会显示一个长字符串,如股票代码
    • 嗯,strage - 它适用于我 -> 30 然后 01 jsfiddle.net/acidrat/f8D4h 但无论如何你已经找到了答案。
    【解决方案4】:

    试试这个

    var tomorrow= new Date(new Date().getTime() + 24 * 60 * 60 * 1000);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-15
      • 1970-01-01
      • 1970-01-01
      • 2010-10-07
      • 1970-01-01
      • 2011-05-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多