Get UNIX timestamp for a date
Example 1
Running
1.mktime(14, 10, 2, 2, 1, 2008);
Could return
1.1201871402
Example 2
Running
1.mktime(0, 0, 0, 0, 1, 2008);
Could return
1.1196463600
function mktime() {
// Get UNIX timestamp for a date
//
// version: 901.2514
// discuss at: http://phpjs.org/functions/mktime
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: baris ozdil
// + input by: gabriel paderni
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: FGFEmperor
// + input by: Yannoo
// + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + input by: jakes
// + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + bugfixed by: Marc Palau
// * example 1: mktime(14, 10, 2, 2, 1, 2008);
// * returns 1: 1201871402
// * example 2: mktime(0, 0, 0, 0, 1, 2008);
// * returns 2: 1196463600
// * example 3: make = mktime();
// * example 3: td = new Date();
// * example 3: real = Math.floor(td.getTime()/1000);
// * example 3: diff = (real - make);
// * results 3: diff < 5
// * example 4: mktime(0, 0, 0, 13, 1, 1997)
// * returns 4: 883609200
// * example 5: mktime(0, 0, 0, 1, 1, 1998)
// * returns 5: 883609200
// * example 6: mktime(0, 0, 0, 1, 1, 98)
// * returns 6: 883609200
var no, ma = 0, mb = 0, i = 0, d = new Date(), argv = arguments, argc = argv.length;
if (argc > 0){
d.setHours(0,0,0); d.setDate(1); d.setMonth(1); d.setYear(1972);
}
var dateManip = {
0: function(tt){ return d.setHours(tt); },
1: function(tt){ return d.setMinutes(tt); },
2: function(tt){ var set = d.setSeconds(tt); mb = d.getDate() - 1; return set; },
3: function(tt){ var set = d.setMonth(parseInt(tt)-1); ma = d.getFullYear() - 1972; return set; },
4: function(tt){ return d.setDate(tt+mb); },
5: function(tt){ return d.setYear(tt+ma); }
};
for( i = 0; i < argc; i++ ){
no = parseInt(argv[i]*1);
if (isNaN(no)) {
return false;
} else {
// arg is number, let's manipulate date object
if(!dateManip[i](no)){
// failed
return false;
}
}
}
return Math.floor(d.getTime()/1000);
}
|