2012-01-20 19 views
15

Tengo una marca de tiempo Json que me gustaría convertir a formato de fecha y hora simple usando javascript.Convertir la marca de tiempo de Json a la fecha y hora normal en javascript

necesito la fecha y la hora en el siguiente formato: dd-mm-aaaa hr: Mn

Aquí es una fecha de ejemplo JSON del deseo de extraer la marca de tiempo: "marca de tiempo": 1326439500

{ 
    "count": 2, 
    "d": [ 
     { 
     "title": "Apple iPhone 4S Sale Cancelled in Beijing Amid Chaos (Design You Trust)", 
     "description": "Advertise here with BSA Apple cancelled its scheduled sale of iPhone 4S in one of its stores in China’s capital Beijing on January 13. Crowds outside the store in the Sanlitun district were waiting on queues overnight. There were incidents of scuffle between shoppers and the store’s security staff when shoppers, hundreds of them, were told that the sales [...]Source : Design You TrustExplore : iPhone, iPhone 4, Phone", 
     "link": "http://wik.io/info/US/309201303", 
     "timestamp": 1326439500, 
     "image": null, 
     "embed": null, 
     "language": null, 
     "user": null, 
     "user_image": null, 
     "user_link": null, 
     "user_id": null, 
     "geo": null, 
     "source": "wikio", 
     "favicon": "http://wikio.com/favicon.ico", 
     "type": "blogs", 
     "domain": "wik.io", 
     "id": "2388575404943858468" 
     }, 
     { 
     "title": "Apple to halt sales of iPhone 4S in China (Fame Dubai Blog)", 
     "description": "SHANGHAI – Apple Inc said on Friday it will stop selling its latest iPhone in its retail stores in Beijing and Shanghai to ensure the safety of its customers and employees. Go to SourceSource : Fame Dubai BlogExplore : iPhone, iPhone 4, Phone", 
     "link": "http://wik.io/info/US/309198933", 
     "timestamp": 1326439320, 
     "image": null, 
     "embed": null, 
     "language": null, 
     "user": null, 
     "user_image": null, 
     "user_link": null, 
     "user_id": null, 
     "geo": null, 
     "source": "wikio", 
     "favicon": "http://wikio.com/favicon.ico", 
     "type": "blogs", 
     "domain": "wik.io", 
     "id": "16209851193593872066" 
     } 
    ] 
} 
+1

var date = new Fecha (indicación de fecha y hora) var hours = date.getHours(); // minutos parte de la marca de tiempo var minutes = date.getMinutes(); // segundo parte de la marca de tiempo var seconds = date.getSeconds(); // mostrará la hora en formato 10:30:23 var formattedTime = hours + ':' + minutes + ':' + seconds; –

+0

@RajatSinghal que solo dará el tiempo ¿no? – praneybehl

+0

Puede obtener cualquier fecha, año, desde el objeto Fecha ... en lugar de gethours use getYear ... –

Respuesta

20

La fecha se devuelve en milisegundos desde época. El código siguiente crea un objeto fecha JS:

var d = new Date(1245398693390); 
var formattedDate = d.getDate() + "-" + (d.getMonth() + 1) + "-" + d.getFullYear(); 
var hours = (d.getHours() < 10) ? "0" + d.getHours() : d.getHours(); 
var minutes = (d.getMinutes() < 10) ? "0" + d.getMinutes() : d.getMinutes(); 
var formattedTime = hours + ":" + minutes; 

formattedDate = formattedDate + " " + formattedTime; 

Aquí es a working fiddle.

+0

Gracias amigo por un rápido ejemplo. Pero eso me da todo: 2009-06-19T08: 04: 53.390Z y quería algo así como dd-mm-aaaa hr: mn – praneybehl

+0

@praneybehl, no entendí bien. ¿Simplemente quieres el tiempo? –

+0

no mate Necesito la fecha y hora en este formato: dd-mm-aaaa hr: mn – praneybehl

2
<script> 
var timestamp=1326439320; 
var date=new Date(timestamp); 
var hours = date.getHours(); // minutes part from the timestamp 
var minutes = date.getMinutes(); // seconds part from the timestamp 
var seconds = date.getSeconds(); // will display time in 10:30:23 format 
var formattedTime = hours + ':' + minutes + ':' + seconds; 
alert(formattedTime); 
</script> 
4

Extender prototipo Date 's para incluir una función de formato como tal (o encontrar o crear el suyo propio):

Date.prototype.format = function (formatString) { 
    // Returns a formatted date string 
    var month = this.getMonth() + 1, 
     day = this.getDate(), 
     year = this.getFullYear(), 
     hours24 = this.getHours(), 
     hours = (hours24 === 0 ? 12 : hours24 > 12 ? hours24 - 12 : hours24), 
     meridiem = hours24 >= 12 ? "PM" : "AM", 
     minutes = this.getMinutes(), 
     seconds = this.getSeconds(); 

    return formatString.replace(/(MM)/g, month.padLeft(2, '0')) 
     .replace(/(M)/g, month) 
     .replace(/(dd)/g, day.padLeft(2, '0')) 
     .replace(/(d)/g, day) 
     .replace(/(yyyy)/ig, year) 
     .replace(/(yy)/ig, year.toString().substring(2, 4)) 
     .replace(/(hh)/g, hours.padLeft(2, '0')) 
     .replace(/(h)/g, hours) 
     .replace(/(HH)/g, hours24.padLeft(2, '0')) 
     .replace(/(H)/g, hours24) 
     .replace(/(mm)/g, minutes.padLeft(2, '0')) 
     .replace(/(m)/g, minutes) 
     .replace(/(ss)/g, seconds.padLeft(2, '0')) 
     .replace(/(s)/g, seconds) 
     .replace(/(tt)/g, meridiem.toLowerCase()) 
     .replace(/(TT)/g, meridiem); 
}; 

Entonces, para convertir la fecha y hora en el formato deseado, dd-mm-yyyy hr:mn (como se mencionó en su comentario), que haría lo siguiente:

var dateString = new Date(timestamp).format("dd-MM-yyyy hh:mm"); 

[Editar] Aquí está la función de bloc de acompañamiento:

Number.prototype.padLeft = function (width, padChar) { 
    // Returns a padded string 
    padChar = padChar || ' '; 
    var value = this.toString(); 
    while (value.length < width) { 
     value = padChar + value; 
    } 
    return value; 
}; 
+1

WOW que es muy completo. Te agradezco tomándote el tiempo para explicar esto. No puedo votar en este momento porque alguien marcó mi pregunta o habría votado su respuesta. Gracias de nuevo – praneybehl

Cuestiones relacionadas