我的第一篇部落格之js的XXXX年XX月XX日 星期[日一-六] [上下]午 XX時:XX分
阿新 • • 發佈:2018-10-31
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<script>
function dateFormat(){
var now=new Date();
var arr=[]; /*XXXX年XX月XX日 星期[日一-六] [上下]午 XX時:XX分*/
arr.push(now.getFullYear());/*獲取年並存入陣列arr*/
var month=now.getMonth()+1; /*取得的月為實際的月份減一,所以要加上一*/
if(month<10){/*month<10時,需要在前面補一個零,保證佔兩個字元位*/
month="0"+month;
}
arr.push(month);
var day=now.getDate();
if(day<10){ /*同上面的月*/
day="0"+day;
}
arr.push(day);
var week=['日','一','二','三','四','五','六']; /*先將日期存入week陣列*/
var w=now.getDay();/*以數字的形式獲取星期*/
arr.push(week[w]);
var h=now.getHours();
if(h<12){/*判斷時上午還是下午,十二小時制*/
arr.push("上午");
}else{
arr.push("下午");
}
if(h>12){/*將二十四小時制轉換為十二小時制*/
h-=12;
}if(h<10){/*當時間小於十時,在前面添零進行補充至兩位*/
h="0"+h;
}
arr.push(h);
var minute=now.getMinutes();
if(minute<10){/*同上*/
minute="0"+minute;
}
arr.push(minute);
var str=arr.join("");/*陣列arr的元素內容以無間隔方式拼接成字串*/
var reg=/(\d{4})(\d{2})(\d{2})([日一-六])([上下]午)(\d{2})(\d{2})/;/*正則匹配表示式*/
return str.replace(reg,"$1年$2月$3日 星期$4 $5 $6:$7");/*replace方法加$配套()的使用方法*/
}
</script>
</head>
<body>
<button onclick="alert(dateFormat())">n個工作日後的日期</button>
</body>
</html>