2015-10-06 41 views
-3

在java中,這是我的一個襯墊創建具有靈活的格式時間戳功能:的Javascript timstamp功能一個襯墊

String timestamp() { 
    Calendar now = Calendar.getInstance(); 
    return String.format("%1$ty%1$tm%1$td_%1$tH%1$tM%1$tS", now); 
} 

什麼是JavaScript中的相同呢? 這裏的jsfiddle它:jsfiddle.net/9kpea998

(是的,我知道有moment.js

+2

我認爲,我們應該做出評論強制性的downvote。不知道發生了什麼。 – 2015-10-06 11:14:16

+0

@xyz,正好!!!這就像說「你做錯了什麼,改進它」,而不是說__什麼是錯的。 –

+1

@JamesThorpe,OP不知道。在沒有告訴他他犯了什麼錯誤的情況下,他需要時間去認識他的錯誤。當我開始使用SO時,我曾經得到很多有價值的評論以及很多有用的評論。如今,我只能在任何地方看到貶低言論。 – 2015-10-06 11:23:45

回答

1

使用的代碼量最低的簡單的解決方法是:

function timestamp() { 
 
    return new Date().toISOString(); 
 
} 
 

 
document.write(timestamp());

但你無法訪問自定義格式。

如果你想在這個問題中使用完全相同的格式,你可以使用這個更長的版本:

function timestamp() { 
 
    var date = new Date(); 
 

 
    var year = date.getFullYear(); 
 
    var month = date.getMonth(); 
 
    var day = date.getDate(); 
 
    var hour = date.getHours(); 
 
    var minute = date.getMinutes(); 
 
    var second = date.getSeconds(); 
 

 
    year = year.toString().substr(2); 
 
    month = ("00" + month).substr(-2,2); 
 
    day = ("00" + day).substr(-2,2); 
 

 
    var timestamp = 
 
     year + month + day + "_" + 
 
     hour + minute + second; 
 

 
    return timestamp; 
 
} 
 

 
document.write(timestamp());

編輯:

您可以使用正則表達式來格式化標準ISO更多類似的字符串:

function timestamp() { 
 
    return new Date().toISOString().replace(/([-:]|\..+)/g, "").replace("T", "_"); 
 
} 
 

 
document.write(timestamp());

+0

非常感謝!但不是很靈活。沒有中間地帶的東西的想法?例如。函數timestamp(){return(new Date).toISOString()。replace(/:/ gi,' - ')}; –

+0

@BenediktGroß,我已經更新了我的答案。 –