如何使用JavaScript将ISOString转换为日期格式dd/mm/yyyy

3

我想将日期格式更改为dd/mm/yyyy,但我没有成功。我尝试了以下方法:

<span class="postupdate">2015-03-01T14:28:28Z</span>

$(function(){
    var d = $(".postupdate").html();
    var n = d.toLocaleDateString();
    d.html(n);
}); 

但是我不知道如何使用JavaScript或jQuery更改日期。是否需要使用正则表达式来更改该日期?有人能帮忙吗?


请告诉我答案是否有用 @Dyana Putry - Abdennour TOUMI
3个回答

2

您可以使用正则表达式来解析日期值。在下面的代码中,我使用了正则表达式在 .match() 中解析日期的日、月、年。

$(".postupdate").text().match(/([^T]+)/)[0].split("-").reverse().join("/");

在您的情况下,您可以使用以下代码:

$("span").text(function(i, text){
    return text.match(/([^T]+)/)[0].split("-").reverse().join("/");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="postupdate">2015-03-01T14:28:28Z</span>


我已经尝试并成功达到了100%的完美,比我想要的还要好。非常感谢你的帮助。 - Dyana Putry

1
 var d = $(".postupdate").html();
var date=new Date(d);

然后使用 X-Class 包:
date.format('dd/mm/yyyy');
 // 01/03/2015

{{链接1:演示}}


这需要任何外部文件吗? - brk
是的,这是x-class节点包的一部分: <script src="https://rawgit.com/abdennour/xclass/master/node_modules/x-date/index.js" type="text/javascript" ></script> - Abdennour TOUMI
但是用户可能没有使用Node,而且这个问题没有被标记为Node。 - brk
1
IT可以在不使用Node的情况下使用,只需在HTML中添加以下内容:<script src="https://rawgit.com/abdennour/xclass/master/node_modules/x-date/index.js" type="text/javascript"></script> - Abdennour TOUMI
1
哇,太酷了,对我的未来非常有帮助和用处。非常感谢你的帮助。 - Dyana Putry
@DyanaPutry:如果是这样,请将我的答案标记为已解决的答案。 - Abdennour TOUMI

1

选项:1

使用getDategetMonthgetYear方法从日期中获取日期、月份和年份。使用条件运算符形成日期格式。

+1(不是一元加号)与getMonth一起使用,因为它从0开始计数。

var date=new Date('2015-03-01T14:28:28Z');
var _dd = "";
var _mm="";
var _yy = date.getFullYear();

date.getDate() <10 ? (_dd='0'+date.getDate()):(_dd=date.getDate());
(date.getMonth()+1) <10?(_mm='0'+(date.getMonth()+1)):(_mm = date.getDate()+1);
var _m = _dd + '/' +_mm+ '/' +_yy;
document.write('<pre>'+_m+'</pre>')

选项 1 JSFIDDLE

选项:2

使用 slice & split 来分割一个字符串并创建一个数组。然后使用其数组的索引来改变格式。

var getDate = "2015-03-01T14:28:28Z".slice(0, 10).split('-'); //create an array
var _date =getDate[1] +'/'+ getDate[2] +'/'+ getDate[0];
document.write('<pre>'+_date+'</pre>')

选项2 JSFIDDLE


1
我真的很兴奋看到你给我解释的内容。这对我来说非常有用,谢谢你的帮助。 - Dyana Putry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接