Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/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日期格式化星期五6月21日00:00:00 UTC+;0100 2013至iso 8601(2013-06-21)_Javascript - Fatal编程技术网

Javascript日期格式化星期五6月21日00:00:00 UTC+;0100 2013至iso 8601(2013-06-21)

Javascript日期格式化星期五6月21日00:00:00 UTC+;0100 2013至iso 8601(2013-06-21),javascript,Javascript,请告知: 是否有一种不使用正则表达式或字符串替换等的方法来转换简单日期,例如: Fri Jun 21 00:00:00 UTC+0100 2013 到ISO8601格式化日期yy-mm-dd PS:8601仅日期,不包括日期时间。使用moment.js 或: 您可以很容易地解析它并格式化它,无论您想用什么方式,它都与ISO-8601日期兼容,以便进行解析。为什么不尝试使用get函数,如getDate(),getMonth()等。例如: var today = new Date(); var d

请告知:

是否有一种不使用正则表达式或字符串替换等的方法来转换简单日期,例如:

Fri Jun 21 00:00:00 UTC+0100 2013
到ISO
8601
格式化日期
yy-mm-dd

PS:
8601
仅日期,不包括日期时间。

使用moment.js

或:


您可以很容易地解析它并格式化它,无论您想用什么方式,它都与ISO-8601日期兼容,以便进行解析。

为什么不尝试使用
get
函数,如
getDate()
getMonth()
等。例如:

var today = new Date();
var d1 = new Date();
alert(d1);
var date = d1.getDate();
var month = d1.getMonth() + 1;
var year = d1.getFullYear();

然后按您希望的方式配置字符串

没有正则表达式或字符串替换?是的,假设格式是固定的,您可以使用
.slice()
和/或
.substr()
提取所需的特定位并重新排列它们(除非此类方法属于“等等”的类别):

var input=“2013年6月21日星期五00:00:00 UTC+0100”;
变量年份=输入。切片(-4),
月份=[‘一月’、‘二月’、‘三月’、‘四月’、‘五月’、‘六月’,
“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”].indexOf(input.substr(4,3))+1,
天=输入子序列(8,2);
var输出=年+'-'+(月是

javascript中的日期函数

var d = new Date("Fri Jun 21 00:00:00 UTC+0100 2013")
alert( d.getFullYear() + '-' + d.getUTCMonth() + '-' + d.getUTCDay())
2行代码:)


此处的详细信息:

是否不使用正则表达式或字符串替换?你想用什么来代替呢?我想知道是否有C#风格的格式。。。尽管在这一点上,任何方法都可以,但我已经厌倦了尝试大量我不太擅长的正则表达式替换!你的开始日期(FRI 6月21日0:00 00 UTC + 0100 2013)只是一个字符串还是一个对象?顺便说一下,这是一个奇怪的输入格式:我不记得以前(以前)看到日期/时间格式,使时间部分在日期部分的中间。这只是一个字符串,在这一点上,我正在使用KokOutt,并试图编写一个自定义绑定…这部分失败:P字符串来自select event:datepicker(jquyeryUI),因为我必须将日期字符串:Fri Jun 21 00:00:00 UTC+0100 2013分配给一个日期,然后才能执行这些操作,我如何将该字符串分配为date@JoshuaHolden:您是否阅读了
Date
的文档?为什么不呢?虽然,这正是我不想看到的,这对我来说是最好的。干杯,我违背了你的意愿提出了这个建议,因为(在我看来)这是实现你目标的最简单的方法。谢谢,我现在已经玩了一个游戏,它太棒了。虽然我已经有12个外部库了,但我正在努力减少我的外部库的数量,在“-”之后的getDay之前,我的基本页面加载(SPA)丢失了80kb+
var today = new Date();
var d1 = new Date();
alert(d1);
var date = d1.getDate();
var month = d1.getMonth() + 1;
var year = d1.getFullYear();
var input = "Fri Jun 21 00:00:00 UTC+0100 2013";

var year = input.slice(-4),
    month = ['Jan','Feb','Mar','Apr','May','Jun',
             'Jul','Aug','Sep','Oct','Nov','Dec'].indexOf(input.substr(4,3))+1,
    day = input.substr(8,2);

var output = year + '-' + (month<10?'0':'') + month + '-' + day;
var output = input.replace(/^[^\s]+\s([^\s]+)\s(\d+)\s.*(\d{4})$/,function(m,p1,p2,p3) {
   var month = ['Jan','Feb','Mar','Apr','May','Jun',
                'Jul','Aug','Sep','Oct','Nov','Dec'].indexOf(p1)+1;
   return p3 + '-' + (month<10?'0':'') + month + '-' + (p2.length===1?'0':'') + p2;
});
var d = new Date("Fri Jun 21 00:00:00 UTC+0100 2013")
alert( d.getFullYear() + '-' + d.getUTCMonth() + '-' + d.getUTCDay())