【问题标题】:Displaying content based on the date in Javascript根据 Javascript 中的日期显示内容
【发布时间】:2013-07-18 02:32:39
【问题描述】:

如果我需要使用 .toDateString() 方法来显示日期,最好的方法是什么?

例如:假设它在本月 1 日和 7 日之间,消息将显示为“x”,其他所有内容为“y”

提前非常感谢,处理日期很糟糕!

【问题讨论】:

  • 你试过了吗?
  • 如果此问题是作业(as it seems to be) 的一部分。在问题正文中披露这一点是最佳做法。这样,人们不仅会给您答案,而且会帮助您走上自己寻找解决方案的道路。 :)

标签: javascript html date


【解决方案1】:

如果您使用.toDateString() 方法,这意味着您是Date() 对象的骄傲拥有者!这个对象有许多其他有用的帮助函数。其中之一可能是您感兴趣的。这是getDate() function。

getDate() 函数将返回一个介于 1 和 31 之间的整数。因此您可以简单地查看返回的值并采取相应的行动。

一个非常简单的例子:

var d = new Date();

switch( d.getDate() ){
  case 1:
  case 7:
    // behavior for days that are the 1st or 7th of the month
    break;
  default:
    // behavior for any day that is not the 1st of 7th of the month
}

参考 -

【讨论】:

  • 我必须使用 .todatestring() 方法来满足这个分配要求,这很糟糕,因为我已经有一个很好的代码但是没有使用该方法。
  • 非常感谢您的回答,我明白您的意思!学习 javascript 是一件轻而易举的事,直到我们到达日期哈哈。
  • @ColbyBradbury 您需要使用该方法来显示日期,还是需要将它用于有关日期的所有内容?您可以将 var 用作 Date 用于您的 if/else 逻辑,然后解析为字符串以显示它吗?
【解决方案2】:

一般来说,我建议使用moment.js。它是 javascript 的最佳日期/时间库。看看有没有你想要的。否则,就您以不同方式显示日期的问题而言,如果它是本月的 1 日与本月的 21 日,我会说只使用返回月份日期的 moment 的 moment().date() 函数。

干杯

【讨论】:

  • 视情况而定,插件可能会过大。但是是的 - 时刻是美好的时刻之一......
  • 问题是我必须使用“.toDateString”方法来满足这个分配要求。
【解决方案3】:

如果您可以仅使用toDateString() 处理日期,则必须进行一些字符串解析以提取您想要的数据...

toDateString() 返回与此类似的字符串:"Fri Jul 19 2013"。 你可以做的是用空格字符分割该值:

var date_obj = new Date();
var date_string = date_obj.toDateString();
var date_parts = date_string.split(" ");

您现在将拥有一个如下所示的数组:["Fri", "Jul", "19", "2013"]

从这里您需要做的就是提取索引 2 处的第三个元素以获得与 getDate() 相同的输出(它会返回您要查找的内容)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-13
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-19
    • 2020-07-17
    • 1970-01-01
    相关资源
    最近更新 更多