2010-02-23 2 views

Répondre

30

Je vais avec l'hypothèse que vous voulez dire timestamp UNIX:

var formatTime = function(unixTimestamp) { 
    var dt = new Date(unixTimestamp * 1000); 

    var hours = dt.getHours(); 
    var minutes = dt.getMinutes(); 
    var seconds = dt.getSeconds(); 

    // the above dt.get...() functions return a single digit 
    // so I prepend the zero here when needed 
    if (hours < 10) 
    hours = '0' + hours; 

    if (minutes < 10) 
    minutes = '0' + minutes; 

    if (seconds < 10) 
    seconds = '0' + seconds; 

    return hours + ":" + minutes + ":" + seconds; 
}  

var formattedTime = formatTime(1266272460); 
document.write(formattedTime); 
+2

Merci pour la réponse, en fait, je voulais dire timestamps Javascript. Parce que l'horodatage javascript est le nombre de ms depuis le 1er janvier 1970 00:00:00 UTC – rmk

+1

J'ai modifié cela pour mes besoins, qui comprenaient l'ajout d'une année, d'un mois et d'un jour. Deux surprises que j'ai rencontrées étaient que vous vouliez dt.getDate() au lieu de dt.getDay() (getDay renvoie le jour de la semaine); et que dt.getYear() renvoie ce que nous considérons normalement comme l'année (par exemple, 2011) dans IE 6, mais renvoie l'année 1900 dans les autres navigateurs que j'ai testés (Chrome, Opera, Firefox). Juste quelque chose à savoir. –

5

Cela permet d'afficher l'heure actuelle dans le format que vous avez demandé (HH:MM:SS)

function dostuff() 
{ 
var item = new Date(); 
alert(item.toTimeString()); 
} 
+0

Court et doux. Merci! –

+0

Je reçois un peu plus de temps: 20:07:30 GMT + 0100 (heure d'Europe centrale) – Jeffz

30

est ici une fonction fournit un formatage flexible d'une date en UTC. Il accepte une chaîne de format similaire à celui de SimpleDateFormat Java:

function formatDate(date, fmt) { 
    function pad(value) { 
     return (value.toString().length < 2) ? '0' + value : value; 
    } 
    return fmt.replace(/%([a-zA-Z])/g, function (_, fmtCode) { 
     switch (fmtCode) { 
     case 'Y': 
      return date.getUTCFullYear(); 
     case 'M': 
      return pad(date.getUTCMonth() + 1); 
     case 'd': 
      return pad(date.getUTCDate()); 
     case 'H': 
      return pad(date.getUTCHours()); 
     case 'm': 
      return pad(date.getUTCMinutes()); 
     case 's': 
      return pad(date.getUTCSeconds()); 
     default: 
      throw new Error('Unsupported format code: ' + fmtCode); 
     } 
    }); 
} 

Vous pouvez l'utiliser comme ceci:

formatDate(new Date(timestamp), '%H:%m:%s'); 
Questions connexes