我有date
string
,看起来像2017-11-09T05:36:00.834Z
我希望这个日期字符串的格式是DD/MM/YYYY
我试过这样的事情,但给了error
。
var formattedDate = new Date('2017-11-09T05:36:00.834Z').format('DD/MM/YYYY');
请帮助我获取formated
date
提前致谢!!!!!
答案 0 :(得分:2)
您可以使用moment.js来执行此操作。
var date = moment('2017-11-09T05:36:00.834Z').format('DD/MM/YYYY');
答案 1 :(得分:1)
尝试
substring
- > split
- > reverse
- > join
var input = "2017-11-09T05:36:00.834Z"
var output = input.substring(0,10).split("-").reverse().join( "/" );
console.log( output );
答案 2 :(得分:1)
var date= new Date(`2017-11-09T05:36:00.834Z`);
var dd = date.getDate();
var mm = date.getMonth()+1; //January is 0!
var yyyy = date.getFullYear();
if(dd<10){
dd='0'+dd;
}
if(mm<10){
mm='0'+mm;
}
var date= dd+'/'+mm+'/'+yyyy;
console.log(date);//it logs "09/11/2017"
答案 3 :(得分:1)
Use this Function
function dateFor(value) {
if(value==null) {
return '-'
} else {
var date = new Date(value);
var dates = date.toDateString();
var datess = dates.split(' ');
if(date.getMonth()+1>=10) {
return datess[2]+'-'+(date.getMonth()+1)+'-'+datess[3];
} else {
return datess[2]+'-'+'0'+(date.getMonth()+1)+'-'+datess[3];
}
}
};
答案 4 :(得分:1)
var dateString = '2017-11-09T05:36:00.834Z'
var date = new Date(dateString);
var day = date.getDate();
var year = date.getFullYear();
var month = date.getMonth()+1;
console.log( day + '/' + month + '/' + year);
答案 5 :(得分:1)
您可以使用Jquery dateFormat Js插件。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-dateFormat/1.0/jquery.dateFormat.min.js"></script>
<script>
jQuery(document).ready(function() {
var shortDateFormat = 'dd/MM/yyyy';
var date1 = "2017-11-09T05:36:00.834Z";
var date2 = jQuery.format.toBrowserTimeZone(date1,shortDateFormat);
alert(date2);
});
</script>
</body>
</html>
答案 6 :(得分:1)
在javascript中格式化DateTimes的一种有用且灵活的方法是:
var date = new Date('2017-11-09T05:36:00.834Z');
// optional: hour: '2-digit', minute: '2-digit', timeZoneName: 'short'
var options = { year: 'numeric', month: '2-digit', day: '2-digit'};
console.log(new Intl.DateTimeFormat('en-GB', options).format(date));
结果:&#34; 09/11/2017&#34;
通过这种方式,您可以自定义所有日期。
另一种方式是(没有选项):
var formattedDate=new Date('2017-11-09T05:36:00.834Z').toLocaleDateString('en-GB');
console.log(formattedDate);
结果:&#34; 09/11/2017&#34;
祝你好运
答案 7 :(得分:1)
如果你的方法只是简单地处理字符串操作,那么你可以使用正则表达式来取出相关的部分:
var formattedDate = "2017-11-09T05:36:00.834Z"
var result = formattedDate.replace(/^(\d{4})-(\d{2})-(\d{2}).*$/, "$3/$2/$1");
console.log (result);
第一个参数捕获一个四位数字和两个两位数字,而第二个参数包含相关占位符。
但是,您正在处理日期,因此到目前为止,最佳方式是使用Where can I find documentation on formatting a date in JavaScript?答案中提到的日期格式设置功能。</ p>
答案 8 :(得分:0)
希望这可以帮到你。
let d = new Date('2017-11-09T05:36:00.834Z');
var formatted = `${d.getDate()}/${d.getMonth() + 1}/${d.getFullYear()}`;