【问题标题】:Function to get yesterday's date in Javascript in format DD/MM/YYYY [duplicate]以 DD/MM/YYYY 格式在 Javascript 中获取昨天日期的函数 [重复]
【发布时间】:2013-05-17 04:51:12
【问题描述】:

我一直在寻找以 DD/MM/YYYY 格式获取昨天的日期。 这是我当前的代码:

var $today = new Date();
var $dd = $today.getDate();
var $mm = $today.getMonth()+1; //January is 0!

var $yyyy = $today.getFullYear();
if($dd<10){$dd='0'+dd} if($mm<10){$mm='0'+$mm} $today = $dd+'/'+$mm+'/'+$yyyy;

有了这个,我以 DD/MM/YYYY 格式获得今天的日期(感谢 SO)。 但是当我尝试这个时:

var $yesterday = $today.getDate()-1;

按照本网站其他地方的建议(丢失链接),我收到一条错误消息,提示找不到此对象的 getDate()。

我在 Sahi 中使用我的脚本,但我认为它没有关联,因为 Sahi 使用 Javascript 没有问题。

提前谢谢你。

【问题讨论】:

  • 这会更好吗:jsfiddle.net/LZLgN?当然你必须填写必要的0s。
  • 这是因为你的$today最终被分配给了一个字符串("dd/mm/yyyy"),而一个字符串没有getDate()的方法。
  • 为什么所有尴尬的$?这不是 PHP,你知道的。
  • 仅供参考,有一个很棒的库可以处理日期操作:Moment.js

标签: javascript date


【解决方案1】:

试试这个:

function getYesterdaysDate() {
    var date = new Date();
    date.setDate(date.getDate()-1);
    return date.getDate() + '/' + (date.getMonth()+1) + '/' + date.getFullYear();
}

【讨论】:

  • 谢谢,差不多了,我只需要在单个数字之前出现零。 :)
  • @user1881815: 试试这个 date.getFullYear() + '/'+ (month
  • 这在 1 月 1 日不起作用。
【解决方案2】:

这里的问题似乎是您通过为其分配一个字符串来重新分配$today

$today = $dd+'/'+$mm+'/'+$yyyy;

字符串没有getDate

另外,$today.getDate()-1 只是给你一个月中的日期减一;它没有给你“昨天”的完整日期。试试这个:

$today = new Date();
$yesterday = new Date($today);
$yesterday.setDate($today.getDate() - 1); //setDate also supports negative values, which cause the month to rollover.

然后只需应用您编写的格式化代码:

var $dd = $yesterday.getDate();
var $mm = $yesterday.getMonth()+1; //January is 0!

var $yyyy = $yesterday.getFullYear();
if($dd<10){$dd='0'+$dd} if($mm<10){$mm='0'+$mm} $yesterday = $dd+'/'+$mm+'/'+$yyyy;

由于最后一条语句,$yesterday 现在是包含格式化日期的String不是Date)。

【讨论】:

  • 谢谢。这种方法一年中的每一天都有效吗?
  • @user1881815,我很确定它会的。我在一年的第一天、一个月的第一天和当前日期对其进行了测试,并且在这些情况下都有效。
  • 你是对的。非常感谢!
【解决方案3】:

您在 if 语句中覆盖 $today

if($dd<10){$dd='0'+dd} if($mm<10){$mm='0'+$mm} $today = $dd+'/'+$mm+'/'+$yyyy;

它不再是 Date() 对象 - 因此出现错误。

【讨论】:

    猜你喜欢
    • 2016-08-26
    • 2021-09-25
    • 2015-08-09
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    • 1970-01-01
    相关资源
    最近更新 更多