【问题标题】:change date format from 2017-01-11 to 01/12/2017将日期格式从 2017-01-11 更改为 01/12/2017
【发布时间】:2017-01-06 10:18:38
【问题描述】:

我有这种形式的约会。两个日期的格式不同。我需要比较这些日期,所以如果格式不同,我什么都得不到。

  2017-01-11
  01/12/2017

我想将此日期 2017-01-11 的格式更改为 01/12/2017。 我该怎么做?

我是这样尝试的

      var date = $(this).val();
      day  = date.getDate(),  
      month = date.getMonth() + 1,              
      year =  date.getFullYear();

     alert(year + '-' + month + '-' + day);

得到错误 date.getDate 不是函数

【问题讨论】:

  • 不回答您的问题,但有一点建议:您应该阅读有关 moment.js 来处理您的日期:momentjs.com
  • 我想要它在 jquery 中
  • 不确定 jquery,但在批处理/java 中,我会在 /- 处剪切字符串,然后比较结果数组...
  • 你是指2017-01-1101/11/2017吗?
  • 如果你能做到这一点,那就太好了。我只想在 if 条件下使用相同的格式来匹配这些日期

标签: jquery date format


【解决方案1】:

试试这个...

var d = new Date('2017-01-11');
var n = d.toLocaleDateString();
var a = n.split('/');

console.log(a);
if(a[0] <=9)
{
  a[0] = '0'+a[0];
}
if(a[1] <=9)
 {
  a[1] = '0'+a[1];
 }
var date = a.join('/');
alert(date);

请看这里的小提琴。http://www.w3schools.com/code/tryit.asp?filename=FBH5FASDUQEI

【讨论】:

  • 这将以自己的格式获取当前日期。我有一个日期将给出格式。
  • 只需传递您想要转换的日期。
  • 我已经检查过了。 01/06/2017 1/6/2017 你能注意一下区别吗?因此,我无法匹配这两个。你能解决这个问题吗?
  • 你可以使用 if/else stmt 来实现。
【解决方案2】:

有一个很棒的库 Moment.js 可以处理 javascript 中的日期。我创建了一个jsfiddle,展示了使用这个库您的代码将变得多么简单和干净,示例:alert(moment('2017-01-11').isSame('01/12/2017')); 您不必再担心日期格式,它将比较两个具有不同格式的日期字符串。快乐编码:)

【讨论】:

  • 我现在有相同格式的日期,我尝试匹配它们,但它不起作用。如果(日期 == ndate){警报(“匹配”); console.log("匹配"); $("li.lia").addClass("selectedli"); }
  • 你能创建一个jsfiddle吗?那么就很容易找出问题所在。
  • 再想一想,你在使用 Moment.js 库吗?
  • 我只使用jquery。
  • 你看到我在回答中附加的 jsfiddle 链接了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-04
  • 1970-01-01
  • 2018-02-05
  • 1970-01-01
  • 2021-02-17
  • 1970-01-01
相关资源
最近更新 更多