Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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或jQuery中将RFC3339日期转换为dd-M-yyyy?_Javascript_Jquery_Date - Fatal编程技术网

在javascript或jQuery中将RFC3339日期转换为dd-M-yyyy?

在javascript或jQuery中将RFC3339日期转换为dd-M-yyyy?,javascript,jquery,date,Javascript,Jquery,Date,我有一个从solr返回数据的大表,我无法在服务器端执行任何操作,因此我需要使用客户端javascript,发出的日期格式为: yyyy-mm-ddThh:mm:ssZ 可爱。我希望它显示为: dd-M-yyyy (or 21-Jan-2011, for example) 每个日期都在一个td中,有一个formatdate类。我想下面这样的东西会管用的,坐在 $(document).ready(function() 并自动格式化所有内容,但没有这样的运气 $('.formatdate').e

我有一个从solr返回数据的大表,我无法在服务器端执行任何操作,因此我需要使用客户端javascript,发出的日期格式为:

yyyy-mm-ddThh:mm:ssZ
可爱。我希望它显示为:

dd-M-yyyy (or 21-Jan-2011, for example)
每个日期都在一个td中,有一个formatdate类。我想下面这样的东西会管用的,坐在

$(document).ready(function()
并自动格式化所有内容,但没有这样的运气

$('.formatdate').each(function() {
var date = document.getElementByClassName('formatdate');
$(".formatdate").innerHTML = new Date(date);
});
有什么想法吗

编辑:另一面是插入

"mRender": function(date, type, full) { return new Date(date).toDateString(); }

into datatables返回2012年11月2日星期五,但我没有格式选项-它必须是2012年11月2日。。。再次感谢

你的意思是这样的吗


问题是你基本上是这样说的:

对于每个.formatdate。。。 获取.formatdate元素的集合 从中创建日期??? 将该日期放在所有.formatdate元素中。 不用说,这不是你想要的

试试这个:

var months = "JanFebMarAprMayJunJulAugSepOctNovDec";
$(".formatdate").each(function() {
    var dateparts = this.firstChild.nodeValue.match(/(\d{4})-(\d\d)-(\d\d)/);

    this.firstChild.nodeValue =
       dateparts[2] + "-"
       + months.substr((dateparts[1]-1)*3,3) + "-"
       + dateparts[0];
});

仅供参考,2011年1月21日的格式被标记为dd-Mmm-yyyy,月份中的3个字符作为月份的简称。在jQuery中,dateFormat被标记为dd-M-yyy.be,但如果您查找它,您会发现更多使用dd-Mmm-yyy的结果,这个符号在Java、C、数据库等中使用。完全理解,但我必须为这一个保留客户端!谢谢你!嗨,布拉姆!感谢您的快速回复,不幸的是没有运气,tr和td是通过数据表加载到dom中的,虽然它在FIDLE格式下工作正常,但它在文档中没有格式。嗨,Niet或黑暗的Absol先生,谢谢您的快速回复,但没有这样的运气,顺便说一句,我在IE9中处理这个混乱,但它的错误是:无法获取属性“2”的值:对象为null或未定义…嗯。。。请让它显示这个.firstChild.nodeValue的结果,好吗?节点内的文本是2012-11-02T05:00:00Z-这就是你的意思吗?另外,tr是通过dom添加的,我们这里说的是旧的IE浏览器,8,9。非常感谢。我知道了,我今天真的可以放松了!这就是alertthis.firstChild.nodeValue向你报告的吗?哦。明白了,实际上,它返回空值。
var months = "JanFebMarAprMayJunJulAugSepOctNovDec";
$(".formatdate").each(function() {
    var dateparts = this.firstChild.nodeValue.match(/(\d{4})-(\d\d)-(\d\d)/);

    this.firstChild.nodeValue =
       dateparts[2] + "-"
       + months.substr((dateparts[1]-1)*3,3) + "-"
       + dateparts[0];
});