解決方法1:
JS將/Date(1446704778000)/轉換成str:
// 對Date的擴展,將 Date 轉化為指定格式的String // 月(M)、日(d)、小時(h)、分(m)、秒(s)、季度(q) 可以用 1-2 個占位符, // 年(y)可以用 1-4 個占位符,毫秒(S)只能用 1 個占位符(是 1-3 位的數字) // 例子: // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 Date.prototype.format = function (fmt) { var o = { "M+" : this.getMonth() + 1, //月份 "d+" : this.getDate(), //日 "h+" : this.getHours(), //小時 "m+" : this.getMinutes(), //分 "s+" : this.getSeconds(), //秒 "q+" : Math.floor((this.getMonth() + 3) / 3), //季度 "S" : this.getMilliseconds() //毫秒 }; fmt = fmt || "yyyy-MM-dd"; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; }
var time = "\/Date(1530104033000)\/";
var dateStr = eval(time.replace(/\/Date\((\d+)\)\//gi, "new Date($1)")).format('yyyy-M-d h:m');
//關鍵代碼:eval(time.replace(/\/Date\((\d+)\)\//gi, "new Date($1)")).format('yyyy-M-d h:m');
解決方法2:
//格式化日期字符串 String.prototype.jsonDateFormat = function (format) { var date, timestamp, dtObj timestamp = parseInt(this.toString().replace('/Date(', '').replace(')/', '').replace(/\+\d+/, ''), 10)// jsonDt.replace(/\/Date\((\d+)\)\//, "$1"); date = new Date(timestamp)// new Date(Number(timestamp)); dtObj = { 'M+': date.getMonth() + 1, // 月 'd+': date.getDate(), // 日 'h+': date.getHours(), // 時 'm+': date.getMinutes(), // 分 's+': date.getSeconds() // 秒 } // 因為年份是4位數,所以單獨拿出來處理 if (/(y+)/.test(format)) { format = format.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)) } // 遍歷dtObj for (var k in dtObj) { // dtObj的屬性名作為正則進行匹配 if (new RegExp('(' + k + ')').test(format)) { // 月,日,時,分,秒 小於10時前面補 0 format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? dtObj[k] : ('00' + dtObj[k]).substr(('' + dtObj[k]).length)) } } return format }
調用示例:
var CreateTime="/Date(1571292406000)/"; CreateTime.jsonDateFormat('yyyy-MM-dd hh:mm:ss');
解決方法3:(建議采用)
引用第三方庫:Moment.js http://momentjs.cn/
安裝 npm install moment --save # npm yarn add moment # Yarn Install-Package Moment.js # NuGet spm install moment --save # spm meteor add momentjs:moment # meteor
<script type="text/javascript" src="https://cdn.bootcss.com/moment.js/2.24.0/moment.min.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/moment.js/2.24.0/locale/zh-cn.js"></script>
使用示例:
moment("/Date(1198908717056-0700)/"); // 2007-12-28T23:11:57.056-07:00 moment("/Date(1198908717056-0700)/").format("YYYY-MM-DD HH:mm:SS");//"2007-12-29 14:11:05"
如果這篇文章對您有幫助,您可以打賞我
技術交流QQ群:15129679