繁体   English   中英

如何将日期字符串转换为正常可读的日期

[英]how to convert date string to normal readable date

我有看起来像这样的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

提前致谢!!!!!

您可以使用moment.js来做到这一点。

var date = moment('2017-11-09T05:36:00.834Z').format('DD/MM/YYYY');

尝试

substring -> split -> reverse -> join

 var input = "2017-11-09T05:36:00.834Z" var output = input.substring(0,10).split("-").reverse().join( "/" ); console.log( output ); 

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"
   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];
                }
            }    
        }; 
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);

您可以使用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>

在javascript中格式化DateTime的一种有用且灵活的方法是:

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));

结果:“ 09/11/2017”

这样,您可以自定义所有日期。

另一种方法是(不带选项):

var formattedDate=new Date('2017-11-09T05:36:00.834Z').toLocaleDateString('en-GB');
console.log(formattedDate);

结果:“ 09/11/2017”

祝好运

在线查询

如果您只想简单地处理字符串操作,那么可以使用正则表达式删除相关部分:

 var formattedDate = "2017-11-09T05:36:00.834Z" var result = formattedDate.replace(/^(\\d{4})-(\\d{2})-(\\d{2}).*$/, "$3/$2/$1"); console.log (result); 

第一个参数捕获一个四位数的数字和两个两位数的数字,而第二个参数包含相关的占位符。

但是,您正在处理日期,因此,到目前为止, 最好的方法是使用“在哪里可以找到有关在JavaScript中格式化日期的文档? ”答案中提到的日期格式化功能

希望这可以帮到你。

let d = new Date('2017-11-09T05:36:00.834Z');
var formatted = `${d.getDate()}/${d.getMonth() + 1}/${d.getFullYear()}`;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM