// format:yyyy-mm-dd h:i:s time:毫秒級時間戳
// y-年份 m-月份 d-日 h-小時 i-分 s-秒 q-季度 S-毫秒
function dateFtt(format,time)
{
// 以下的m,d,h,i,s,q,S,y只是正則表達式中一個普通文本,用于匹配相應的字符
// 以下的m+,d+,h+,i+,s+,q+,S+,y+ 意思為:匹配1個到多個的字符
// (y+)的意思是:y+匹配到的內(nèi)容可能通過分組來取到,這里是通過第一個分組取到。從后面的代碼中可以看出,RegExp.$1就是取到的y+匹配到的內(nèi)容
// 1.直接量語法
// 語法:/pattern/ 比如 /(y+)/
// 2.創(chuàng)建 RegExp 對象
// 語法:new RegExp(pattern) 比如 new RegExp("(y+)")
// 這是使用的兩種寫法 效果一致
// if(/(y+)-(m+)/.test(format)){
// RegExp.$1為(y+)匹配到的內(nèi)容
// RegExp.$2為(m+)匹配到的內(nèi)容
// }
// test() 檢索字符串中指定的值。返回 true 或 false。
// 語法 RegExpObject.test(string)
// substr() 方法可在字符串中抽取從 start 下標開始的指定數(shù)目的字符。
// 語法 stringObject.substr(start,length)
// start 必須數(shù)值 -1 最后一個字符 -2 的倒數(shù)第二個字符
// length 可選數(shù)值 忽略則是返回 開始位置到結尾的字符串
// replace() 方法用于在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。
// 語法 stringObject.replace(regexp/substr,replacement)
// regexp/substr 必需 規(guī)定子字符串或要替換的模式的 RegExp 對象。請注意,如果該值是一個字符串,則將它作為要檢索的直接量文本模式,而不是首先被轉(zhuǎn)換為 RegExp 對象。
// replacement 必需。一個字符串值。規(guī)定了替換文本或生成替換文本的函數(shù)。
var date = new Date();
date.setTime(time); //寫入時間
var o = {
"m+" : date.getMonth()+1, //月份
"d+" : date.getDate(), //日
"h+" : date.getHours(), //小時
"i+" : date.getMinutes(), //分
"s+" : date.getSeconds(), //秒
"q+" : Math.floor((date.getMonth()+3)/3), //季度
"S" : date.getMilliseconds() //毫秒
};
if(/(y+)/.test(format))
format=format.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)
if(new RegExp("("+ k +")").test(format))
format = format.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); // 單位數(shù)前面補填0 雙位數(shù) 則不管
return format;
}
Javascript-時間戳的格式化
最后編輯于 :
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。