2009-04-27 47 views
6

在我的javascript iam中使用GetHour和GetMinutes函數。例如:當前時間是2:03。如果在這種情況下,我使用GetHour(),它返回2.而是我需要02.任何人都可以幫忙?小時格式在javascript中

回答

6
var hour = GetHour() < 10 ? '0' + GetHour() : GetHour(); 
+1

你可以抽象出在你真正的重複部分和錯誤的表達式:var hour =(GetHour()<10?'0':'')+ GetHour() – 2009-04-27 10:03:49

+0

沒有理由調用該函數兩次。 – 2009-04-27 21:56:52

+0

那麼我評論過的代碼已經三次了!除非GetHour()調用被證明是性能問題,否則爲了更簡潔地表示代碼,多次調用方法沒有任何問題。 – 2009-06-16 09:29:33

0

沒有這個功能。 使用下面添加一個前導0:

var date = new Date(); 
var hours = new String(date.getHours()); 

if (hours.length == 1) 
{ 
    hours = "0" + hours; 
} 
0

有一個JavaScript庫here它看起來像它會處理各種日期轉換的很好,包括格式化日期,以便月份通常是兩個數字。

0

如果你使用Prototype框架,那麼有一個toPaddedString方法。

a = 2; 
a.toPaddedString(2) 
// results in "02" 
1

顯而易見的答案是使用IF語句...

var dat = new Date(); 
var hr = dat.getHour(); 

if(hr < 10) { 
    hr = "0" + hr; 
} 
3
var d,h 
d = new Date() 
h = (h = d.getHours()) < 10 ? '0' + h : h 
1

你總是可以只是做

var time = new Date(); 

('0' + time.getDate()).slice(-2)