Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中实现日期格式?_Javascript_Date_Datetime - Fatal编程技术网

如何在Javascript中实现日期格式?

如何在Javascript中实现日期格式?,javascript,date,datetime,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 date和getmonth函数中获取var date中的确切日期?请帮助Javascri

我需要了解如何用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 date和getmonth函数中获取var date中的确切日期?请帮助Javascript
date()
希望日期在
mm/dd/yy
中,而不是
dd/mm/yy
中。而
月份
0开始
,而不是从
1开始

var from = "12/02/1994".split("/");
var date1 = new Date(from[2], from[1] - 1, from[0]);
date1.getDate();
date1.getMonth();
Javascript
date()
希望日期在
mm/dd/yy
中,而不是在
dd/mm/yy
中。而
月份
0开始
,而不是从
1开始

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

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

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

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

或者您必须使用外部库,如矩.js。

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

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

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

或者您必须使用外部库,如矩.js。

使用
新日期('02/12/1994')
新日期('1994-02-12')
新日期(1994,02-1,12)
,因为在js中,月份从0开始,并且在月份开始的地方使用美国日期格式。

使用
新日期('02/12/1994')
新日期('1994-02-12')
新日期(1994,02-1,12)
,因为在js中,月从0开始,并且在月开始的地方使用美式日期格式

您可以使用简单的js文件,该文件通过URL提供了一些非常好的示例 从这个JS文件中,您可以验证传入日期是否为真实格式,甚至可以通过多种方式添加格式日期


您可以使用简单的JS文件,该文件通过URL提供了一些非常好的示例 从这个JS文件中,您可以验证传入日期是否为真实格式,甚至可以通过多种方式添加格式日期


您可能想知道如何格式化字符串,以便浏览器一致地解析字符串。简单的回答是,无法保证任何特定字符串都能被所有正在使用的浏览器(甚至可能是大多数浏览器)正确解析

因此,底线是:永远不要用日期构造函数解析字符串。它在很大程度上依赖于实现,甚至ES5和ECMAScript 2015中指定的一种格式也不受支持,而且不一致

浏览器如何处理像“12/02/1994”这样的字符串完全取决于实现,但是大多数浏览器将其视为特殊的美国月/日/年格式,即12月2日和getMonth将返回11,因为月份是零索引的

因此,您应该始终手动解析字符串(库可以提供帮助,但简单的解析函数只有2行,如果需要验证,则只有3行)

//将日期字符串解析为d/m/y
//如果s不是有效的日期,则返回日期对象及其
//时间值设置为NaN。
函数parseDMY(s){
var b=s.split(/\D/);
var d=新日期(b[2],--b[1],b[0]);
返回d&b[1]==d.getMonth()?d:新日期(NaN);
}

document.write(parseDMY('12/02/1994'));
您可能想知道如何格式化字符串,以便浏览器一致地解析字符串。简单的回答是,无法保证任何特定字符串都能被所有正在使用的浏览器(甚至可能是大多数浏览器)正确解析

因此,底线是:永远不要用日期构造函数解析字符串。它在很大程度上依赖于实现,甚至ES5和ECMAScript 2015中指定的一种格式也不受支持,而且不一致

浏览器如何处理像“12/02/1994”这样的字符串完全取决于实现,但是大多数浏览器将其视为特殊的美国月/日/年格式,即12月2日和getMonth将返回11,因为月份是零索引的

因此,您应该始终手动解析字符串(库可以提供帮助,但简单的解析函数只有2行,如果需要验证,则只有3行)

//将日期字符串解析为d/m/y
//如果s不是有效的日期,则返回日期对象及其
//时间值设置为NaN。
函数parseDMY(s){
var b=s.split(/\D/);
var d=新日期(b[2],--b[1],b[0]);
返回d&b[1]==d.getMonth()?d:新日期(NaN);
}

document.write(parseDMY('12/02/1994'));
因为
新日期
将把这个日期视为Fri Dec 02 1994 00:00:00时区将是用户的本地时区如果你想玩save,你可以编写一个函数,去掉你的字符串(或使用插件)并使用
新日期(年、月[、日[、小时[、分[、秒[、毫秒]]]]]);
construct-因为
new Date
将此日期视为Fri Dec 02 1994 00:00:00时区将是用户的本地时区如果你想玩save,你可以编写一个函数来删除你的字符串(或使用插件)并使用
新日期(年、月[、日[、小时[、分钟[、秒[、毫秒]]]];
construct-(YYYY-MM-DD)也是首选的JavaScript日期格式(YYYY-MM-DD)也是首选的JavaScript日期格式JavaScript日期对象不需要任何特定格式,尽管它们尝试解析以各种格式提供给它们的字符串。标准中只指定了一种格式,而OP中没有指定。JavaScript日期对象不需要任何特定格式,尽管它们尝试解析字符串标准中只规定了一种格式,而OP中没有规定。