如何在Javascript中使用日期格式?

时间:2015-12-24 09:57:59

标签: javascript date datetime

我需要了解如何在javascript中进行日期格式化。

我的日期为,

var date="12/02/1994";// dd/mm/yyy
var date1=new Date(date);
date1.getDate();// this gives me Month which is 02
date1.getMonth();// this gives me date which is 12.

如何获取get日期和getmonth函数中var日期的确切日期?请帮忙

5 个答案:

答案 0 :(得分:0)

Javascript date()预计日期位于mm/dd/yy而不是dd/mm/yymonths0而不是1开始。

var from = "12/02/1994".split("/");
var date1 = new Date(from[2], from[1] - 1, from[0]);
date1.getDate();
date1.getMonth();

答案 1 :(得分:0)

答案很简单:JavaScript使用mm/dd/yyyy数据格式。

它不支持dd/mm/yyyy格式,因此,如果您需要解析此格式,则必须手动执行此操作:

function parseDdmmyyyy(str)
{
    var spl = str.split('/');
    return new Date(spl[2], spl[1] - 1, spl[0]);
}

或者你必须使用像Moment.js这样的外部库。

答案 2 :(得分:0)

使用new Date('02/12/1994')new Date('1994-02-12')new Date(1994, 02-1, 12),因为在js个月从0开始,美国日期格式用于月份开始时

答案 3 :(得分:0)

您可以使用简单的JS文件DateFormat.js,它通过网址mattkruse (Date Funtion) 提供了一些非常好的示例 从这个JS文件中,您可以验证传入日期是一种真正的格式,即使您可以通过多种方式添加格式日期。

enter image description here

答案 4 :(得分:0)

据推测,您想知道如何格式化字符串,以便浏览器始终对其进行解析。简短的回答是,无法保证所有正在使用的浏览器(或者甚至是大多数)都能正确解析任何特定的字符串。

所以底线是:不要用Date构造函数解析字符串。它主要依赖于实现,甚至ES5和ECMAScript 2015中指定的一种格式也很差且支持不一致。

浏览器如何处理字符串" 12/02 / 1994"完全依赖于实现,但是大多数会将其视为美国特殊的月/日/年格式,即12月2日,而 getMonth 将返回11,因为月份为零索引。

所以你应该总是手动解析字符串(一个库可以帮助,但是一个简单的解析函数只有2行,如果需要验证,则为3行),例如



// Parse a date string as d/m/y
// If s is not a valid date, return a Date object with its
// time value set to NaN.
function parseDMY(s) {
  var b = s.split(/\D/);
  var d = new Date(b[2], --b[1], b[0]);
  return d && b[1] == d.getMonth()? d : new Date(NaN);
}

document.write(parseDMY('12/02/1994'));