2013-02-25 14 views
6

Iam utilizzando mktime() in PHP per ottenere i secondi per il dato anno, mese, giorno e minuti come come laJavascript equivalente di php mktime

$seconds = mktime($hour,$minute,$month,$day,$year); 

ma voglio utilizzare lo stesso in javascript ... qualcuno può suggerirmi il modo di usare la sua funzione equivalente in javascript che prende sopra tutti i parametri e restituisce il numero di secondi ... Ho cercato così tante fonti ma nessuno mi ha dato l'output.

+1

http://phpjs.org/functions/mktime/ – dfsq

risposta

11
var seconds = new Date(year, month, day, hours, minutes, seconds, 0).getTime()/1000; 

Quanto sopra darà secondi dall'1-1-1970. getTime() dà millisecondi quindi devide per 1000. Nota (come Aler chiudere anche menzionato), il mese va 0-11, quindi potrebbe essere necessario correggere che rispetto a mktime

function java_mktime(hour,minute,month,day,year) { 
    return new Date(year, month - 1, day, hour, minutes 0, 0).getTime()/1000; 
} 
+1

Eccellente @Bart .... Hai fatto questo ... – Gautam3164

0

È possibile utilizzare Data oggetto (mesi è un valore da 0 a 11):

var date = new Date(year, month, day, hours, minutes, seconds); 
6

utilizzare l'oggetto Date

function mktime(hour,minute,month,day,year){ 
    a=new Date() 
    a.setHours(hour) 
    a.setMinutes(minute) 
    a.setDate(day) 
    a.setYear(year) 
    return a.getTime()/1000 
} 

In alternativa,

function mktime(hour,minute,month,day,year){ 
    return (new Date(year, month, day, hour, minute, 0)).getTime()/1000; 
} 
+0

getTime restituisce millisecondi e non secondi, è possibile dividere per 1000 – Tobia

+0

@Tobia: Sì, è mancato. Grazie :) – Manishearth