Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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_String_Date - Fatal编程技术网

Javascript:使用完整的月到日期对象转换字符串

Javascript:使用完整的月到日期对象转换字符串,javascript,string,date,Javascript,String,Date,我有一个字符串变量“PublishDate”,然后当我使用“PublishDate.value”检查值时,它返回一个类似 “2016年10月4日上午9:28” 我需要将其转换为日期对象,其格式类似于“10/04/2016” 我不确定这是如何在javascript中实现的: var d = new Date("October 04, 2016 9:28 AM"); var date = d.getDate(); var month = d.getMonth(); var year = d.getF

我有一个字符串变量
“PublishDate”
,然后当我使用
“PublishDate.value”
检查值时,它返回一个类似

“2016年10月4日上午9:28”

我需要将其转换为日期对象,其格式类似于
“10/04/2016”

我不确定这是如何在javascript中实现的:

var d = new Date("October 04, 2016 9:28 AM");
var date = d.getDate();
var month = d.getMonth();
var year = d.getFullYear();
var hours = d.getHours();
var min = d.getMinutes();   //10/04/2016
console.log(month+1+'/'+date+'/'+year);

有很多这样的问题,所以。。。下次试着搜索一下

var date = new Date(PublishDate.value);
console.log((date.getDate() + '/' + (date.getMonth() + 1) + '/' +  date.getFullYear());

有很多这样的问题,所以。。。下次试着搜索一下

var date = new Date(PublishDate.value);
console.log((date.getDate() + '/' + (date.getMonth() + 1) + '/' +  date.getFullYear());
//PublishDate结果示例
var PublishDate={
价值:“2016年10月4日上午9:28”
};
//将“日期字符串”转换为“日期对象”
var日期=新日期(PublishDate.value);
//生成所需的“日期字符串”
var dateShort=(date.getMonth()+1)+'/'
+date.getDate()+'/'
+date.getFullYear();
//显示结果的控制台日志
console.log(dateShort)
//PublishDate结果示例
var PublishDate={
价值:“2016年10月4日上午9:28”
};
//将“日期字符串”转换为“日期对象”
var日期=新日期(PublishDate.value);
//生成所需的“日期字符串”
var dateShort=(date.getMonth()+1)+'/'
+date.getDate()+'/'
+date.getFullYear();
//显示结果的控制台日志

console.log(dateShort)使用一个月数组来获取数值,然后根据需要对其进行解析

var月=[
“一月”,
“二月”,
“三月”,
“四月”,
“五月”,
“六月”,
“七月”,
“八月”,
“9月”,
“十月”,
“11月”,
“12月”
];

函数pad(n){return n使用一个月数组来获取数值,然后根据需要对其进行解析

var月=[
“一月”,
“二月”,
“三月”,
“四月”,
“五月”,
“六月”,
“七月”,
“八月”,
“9月”,
“十月”,
“11月”,
“12月”
];

函数pad(n){return n首先,使用以下命令将该字符串日期转换为日期对象:


<强>编辑:总是考虑浏览器不支持格式的情况。在Firefox中,MDN表示它将支持:

字符串的格式应为Date.parse()方法识别的格式 (符合IETF的RFC 2822时间戳,也是ISO8601的一个版本)

还说:

它首先尝试使用.If来解析日期字符串 日期字符串不是ISO格式,JavaScript试图解析 通过使用其他日期

也可以考虑,MDN本身不使用构造函数或代码>日期.PARSER()/<代码>解析字符串日期,即使它适用于您的具体情况:

注意:使用日期构造函数解析日期字符串(和 由于 浏览器差异和不一致

如果您需要支持其他种类的日期格式或各种浏览器,您也可以考虑JavaScript库或使用ReGEX进行自己的解析,如@ ROBG和AdENO的答案。


然后,您需要提取所需的部分(月、日、年),并将它们连接成一个字符串,以斜杠作为分隔符,如@user3254198的答案或@Steeve Pitis的答案:

d.getDate() + '/' 
    + (d.getMonth() + 1) + '/' 
    +  d.getFullYear()
请记住,
PublishDate.value.getMonth()
方法返回一个以零为基础的月份数值表示形式,因此,如果您想要1-12的值,请在其中添加一个
+1


请随意提问!祝您好运。

首先,使用以下命令将该字符串日期转换为日期对象:


<强>编辑:总是考虑浏览器不支持格式的情况。在Firefox中,MDN表示它将支持:

字符串的格式应为Date.parse()方法识别的格式 (符合IETF的RFC 2822时间戳,也是ISO8601的一个版本)

还说:

它首先尝试使用.If来解析日期字符串 日期字符串不是ISO格式,JavaScript试图解析 通过使用其他日期

也可以考虑,MDN本身不使用构造函数或代码>日期.PARSER()/<代码>解析字符串日期,即使它适用于您的具体情况:

注意:使用日期构造函数解析日期字符串(和 由于 浏览器差异和不一致

如果您需要支持其他种类的日期格式或各种浏览器,您也可以考虑JavaScript库或使用ReGEX进行自己的解析,如@ ROBG和AdENO的答案。


然后,您需要提取所需的部分(月、日、年),并将它们连接成一个字符串,以斜杠作为分隔符,如@user3254198的答案或@Steeve Pitis的答案:

d.getDate() + '/' 
    + (d.getMonth() + 1) + '/' 
    +  d.getFullYear()
请记住,
PublishDate.value.getMonth()
方法返回一个以零为基础的月份数值表示形式,因此,如果您想要1-12的值,请在其中添加一个
+1

欢迎进一步询问!祝你好运。

使用日期构造函数解析字符串(如“2016年10月4日9:28 AM”)完全依赖于实现,可能会导致日期不正确或无效,因此请使用解析器(有很多好的解析器)或自己编写一个小函数来解析字符串

但是如果您只是想重新格式化它,那么根本不需要解析到日期,只需重新格式化字符串即可

/*将类似2016年10月4日上午9:28的字符串重新格式化为m/d/y格式
**@param{string}s-格式为MMMM DD,YYYY h:mm ap的字符串
**@返回{string}以MM/DD/YYYY格式重新格式化的日期
*/
函数重新格式化日期{
变量月份={1月:'01',2月:'02',3月:'03',4月:'04',5月:'05',6月:'06',
七月七日,八月八日,九月九日,十月十日,十一月十一日,十二月十二日;
var b=s.match(/\w+/g)| |[];
返回月份[b[0].toLowerCase().substr(0,3)]+'/'+b[1]+'/'+b[2];
}
console.log(重新格式化日期('Octob