作者gpmm (銀色)
看板Ajax
標題Re: [問題] javascript 顯示現在時間,不足12自動補0
時間Thu Dec 9 01:06:54 2010
正規式一行解,試試看吧
※ 引述《mylucky (後來)》之銘言:
: 如題, 想再往業的第一行能顯示目前的日期與時間
<script language="javascript">
RightNow = new Date();
document.write(((RightNow.getMonth()+1)+ "-" + RightNow.getDate() + "-" +
RightNow.getFullYear() + " " + RightNow.getHours() + ":" +
RightNow.getMinutes() + ":" + RightNow.getSeconds())
.replace (/(\:|-|\s)(\d)(?=\D|$)/g, '$10$2'))
</script>
: 上面是我的程式碼, 上述程式碼顯示出來的時間,
: EX: 12-8-2010 8:10:7
: 現在不知道要怎麼修改, 能夠讓"不足"兩位數的時間數字自動補0
: EX: 12-08-2010 08:10:07 <<---
: 在網路上爬不少文章, 修改了後就變成無法顯示@@"
: 目前只知道說應該是用 RightNow.getxxx < 12 去判斷,
: 各位先進可否協助修正程式碼點醒小弟, 我爬了半天修改出來都是一片空白 @@"
: 感激不盡 ~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.45.224.133
1F:推 mylucky:感謝大大的不吝指教,真是受用無窮,已可正常顯示^^" 12/09 01:18
2F:→ mylucky:另可否解釋此用法?? 還是有點看不懂 ~謝謝您 12/09 01:18
3F:推 LPH66:它是找前有:或-或空白(\:|-|\s)後有非數字或結尾(?=\D|$) 12/09 01:44
4F:→ LPH66:的一位數(\d) 再在它的前面加上 0 12/09 01:44
5F:→ LPH66:話說這樣的話字串開始的月份如果是一位數不會補0耶... 12/09 01:45
6F:→ gpmm:啊,破功 XDD 12/09 01:47
7F:→ gpmm:.replace (/(\b|\:|-|\s)(\d)(?=\D|$)/g, '$10$2') 12/09 01:52
8F:→ gpmm:加上一個 \b 來處理字串開始(感謝 LPH66 大指點) 12/09 01:53
9F:→ heyyosweet:原po要看懂這個應該要先研究一下regex 12/09 10:27
10F:→ heyyosweet:↑myl大 12/09 10:29
12F:→ dreamerslab:now = new Date(); now.format('dd-mm-yyyy hh:MM:ss' 12/09 10:39
13F:→ dreamerslab:); 12/09 10:39
14F:推 megaman1206:.replace(/\b(\d)\b/g, "0$1") 12/09 12:43
15F:推 mylucky:dream大跟mega大兩個程式碼是一組的嗎?我測試之後網頁都 12/10 02:14
16F:→ mylucky:空白@@" ~~ now = new Date(); document.write(now.format 12/10 02:15
17F:→ mylucky:('dd-mm-yyyy hh:MM:ss');.replace(/\b(\d)\b/g, "0$1")) 12/10 02:16
18F:→ mylucky:結果出現空白都沒顯示,是我document.write放錯地方嗎?? 12/10 02:16
19F:→ dreamerslab:不是同一組,上面連結裡是一個plugin,滿強大的,裡面有 12/10 03:14
20F:→ dreamerslab:說明,以後你要改各式各樣的格式都沒問題! 12/10 03:15
22F:→ dreamerslab:檔看一下source 12/10 03:36