Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Date.UTC mysql date converter
- *
- * @author Lawrence Cherone <lawrence@cherone.co.uk>
- */
- var UTC = (function() {
- var _Date = function(year, month, day, hour, minute, second) {
- // year is string string date
- if (typeof year === "string" && year != '' && month == undefined && day == undefined) {
- var regex_date = /^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9])?$/;
- var regex_datetime = /^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9]) (?:([0-2][0-9]):([0-5][0-9]):([0-5][0-9]))?$/;
- // mysql datetime format 00-00-00 00:00:00
- if (year.match(regex_datetime)) {
- var t = year.replace(regex_datetime, "$1 $2 $3 $4 $5 $6").split(' ');
- return new Date(Date.UTC(t[0], t[1]-1, t[2], t[3], t[4], t[5]));
- }
- // mysql date format 0000-00-00
- else if (year.match(regex_date)) {
- var t = year.replace(regex_date, "$1 $2 $3 0 0 0").split(' ');
- return new Date(Date.UTC(t[0], t[1]-1, t[2], t[3], t[4], t[5]));
- } else {
- var dt = new Date(year);
- return new Date(Date.UTC(dt.getFullYear(), dt.getMonth(), dt.getDate(), dt.getHours(), dt.getMinutes(), dt.getSeconds()));
- }
- } else {
- hour = (hour == undefined) ? 0 : hour;
- minute = (minute == undefined) ? 0 : minute;
- second = (second == undefined) ? 0 : second;
- return new Date(Date.UTC(year, month, day, hour, minute, second));
- }
- };
- var _Timestamp = function(year, month, day, hour, minute, second) {
- return _Date(year, month, day, hour, minute, second).getTime();
- };
- return {
- Date: _Date,
- Timestamp: _Timestamp
- };
- })();
- /* Example - Get UTC Date object from mysql date formats or build */
- console.log(UTC.Date('2016-02-01'));
- console.log(UTC.Date('2016-02-01 01:00:30'));
- console.log(UTC.Date(2016, 02, 01, 01, 00, 30));
- /* Example - Get UTC timestamp from mysql date formats or build */
- console.log(UTC.Timestamp('2016-02-01'));
- console.log(UTC.Timestamp('2016-02-01 01:00:30'));
- console.log(UTC.Timestamp(2016, 02, 01, 01, 00, 30));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement