html创建时间 win和ios的时间格式统一

win和ios的时间格式统一

win的格式是 xxxx-xx-xx xx:xx:xx
ios的格式是 xxxx/xx/xx xx:xx:xx
所以需要将格式统一起来适用于所有电脑:

第一种方法原始的

传入的数据data是你需要转换的时间

var date = new Date(data);
		var Months = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1;  //月份从0开始,因此要+1
		var Dates = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
		var Hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
		var Minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
		var Seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
		var now = date.getFullYear() + '-' + Months + '-' + Dates + ' ' + Hours + ':' + Minutes + ':' + Seconds;

第二种

注意:

  1. time1和time2是你想要得格式 ,根据自己想要的格式写在字符串里边就行了。
  2. 下边得Date.prototype.format = function(fmt) { …}是可以写在全局js里边引入即可。也可以写在html里边(如果写在html里边需要把这个Date.pro…的这个方法放到最上边,保证最先加载),

原理

在重新写date对象的方法,然后调用。

// 格式化日期 用法:
 var time1 = new Date().format("yyyy-MM-dd hh:mm:ss");
 var time2 = new Date().format("yyyy-MM-dd");
Date.prototype.format = function(fmt) { 
 let 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()             //毫秒 
 }; 
 if(/(y+)/.test(fmt)) {
  fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
 }
 for(let 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; 
} 

你可能感兴趣的:(技术点,java,json,html,javascript)