From 240779b5d90328b94e11378e6fdf73690b5d1dac Mon Sep 17 00:00:00 2001 From: GregDThomas Date: Tue, 30 Jul 2013 17:14:19 +0100 Subject: [PATCH] Ensure that passing in date objects works with IE6 --- dist/jquery.localtime-0.7.0-SNAPSHOT.js | 2 +- dist/jquery.localtime-0.7.0-SNAPSHOT.min.js | 2 +- src/jquery.localtime.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dist/jquery.localtime-0.7.0-SNAPSHOT.js b/dist/jquery.localtime-0.7.0-SNAPSHOT.js index 2cab983..951c2a8 100644 --- a/dist/jquery.localtime-0.7.0-SNAPSHOT.js +++ b/dist/jquery.localtime-0.7.0-SNAPSHOT.js @@ -182,7 +182,7 @@ }, toLocalTime: function (timeField, timeFormat) { - if( timeField.constructor.name !== 'Date' ) { + if( Object.prototype.toString.call(timeField) !== '[object Date]' ) { timeField = $.localtime.parseISOTimeString(timeField); } if( timeFormat === '' ) { diff --git a/dist/jquery.localtime-0.7.0-SNAPSHOT.min.js b/dist/jquery.localtime-0.7.0-SNAPSHOT.min.js index 3eb24da..316627d 100644 --- a/dist/jquery.localtime-0.7.0-SNAPSHOT.min.js +++ b/dist/jquery.localtime-0.7.0-SNAPSHOT.min.js @@ -1,4 +1,4 @@ /*! jQuery localtime - v0.7.0-SNAPSHOT - 2013-07-30 * https://github.com/GregDThomas/jquery-localtime * Copyright (c) 2013 Greg Thomas; Licensed Apache-2.0 */ -(function(e){"use strict";e.localtime=function(){var a={localtime:"yyyy-MM-dd HH:mm:ss"},t=["January","February","March","April","May","June","July","August","September","October","November","December"],r=["th","st","nd","rd"],c=function(e){return e>=13?e-12:"0"===e?12:e},s=function(e,s){var i=""+e.getFullYear(),o=""+(e.getMonth()+1),n=""+e.getDate(),l=""+e.getHours(),u=""+e.getMinutes(),m=""+e.getSeconds(),b=""+e.getMilliseconds(),f=e.getTimezoneOffset(),d=f>0?"-":"+";if(f=Math.abs(f),void 0===s){var h;for(h in a)if(a.hasOwnProperty(h)){s=a[h];break}if(void 0===s)return""+e}for(var k="",g="",M=0;s.length>M;M++)if(g+=s.charAt(M),"'"===g)for(M++;s.length>M;M++){var p=s.charAt(M);if("'"===p){g="";break}k+=p}else if("\\"===g&&s.length-1>M&&"'"===s.charAt(M+1))M++,k+="'",g="";else if(M===s.length-1||s.charAt(M)!==s.charAt(M+1)){switch(g){case"d":k+=n;break;case"dd":k+=("0"+n).slice(-2);break;case"M":k+=o;break;case"MM":k+=("0"+o).slice(-2);break;case"MMM":k+=t[o-1].substr(0,3);break;case"MMMMM":k+=t[o-1];break;case"yy":k+=i.slice(-2);break;case"yyyy":k+=i;break;case"H":k+=l;break;case"HH":k+=("0"+l).slice(-2);break;case"h":k+=c(l);break;case"hh":k+=("0"+c(l)).slice(-2);break;case"m":k+=u;break;case"mm":k+=("0"+u).slice(-2);break;case"s":k+=m;break;case"ss":k+=("0"+m).slice(-2);break;case"S":k+=b;break;case"SS":k+=("0"+b).slice(-2);break;case"SSS":k+=("00"+b).slice(-3);break;case"o":switch(n){case"11":case"12":case"13":k+=r[0];break;default:var y=n%10;y>3&&(y=0),k+=r[y]}break;case"a":case"tt":k+=l>=12?"PM":"AM";break;case"t":k+=l>=12?"P":"A";break;case"z":k+=d+parseInt(f/60,10);break;case"zz":k+=d+("0"+parseInt(f/60,10)).slice(-2);break;case"zzz":k+=d+("0"+parseInt(f/60,10)).slice(-2)+":"+("0"+f%60).slice(-2);break;default:k+=g}g=""}return k};return{setFormat:function(e){a="object"==typeof e?e:{localtime:e}},getFormat:function(){return a},parseISOTimeString:function(a){a=e.trim(""+a);var t=/^(\d{4})-([01]\d)-([0-3]\d)[T| ]([0-2]\d):([0-5]\d)(?::([0-5]\d)(?:\.(\d{3}))?)?Z$/.exec(a);if(t){var r=parseInt(t[1],10),c=parseInt(t[2],10)-1,s=parseInt(t[3],10),i=parseInt(t[4],10),o=parseInt(t[5],10),n=t[6]?parseInt(t[6],10):0,l=t[7]?parseInt(t[7],10):0,u=new Date(Date.UTC(r,c,s,i,o,n,l));if(u.getUTCFullYear()!==r||u.getUTCMonth()!==c||u.getUTCDate()!==s)throw Error(t[1]+"-"+t[2]+"-"+t[3]+" is not a valid date");if(u.getUTCHours()!==i)throw Error(t[4]+":"+t[5]+" is not a valid time");return u}throw Error(a+" is not a supported date/time string")},toLocalTime:function(a,t){return"Date"!==a.constructor.name&&(a=e.localtime.parseISOTimeString(a)),""===t&&(t=void 0),s(a,t)},formatObject:function(a,t){a.is(":input")?a.val(e.localtime.toLocalTime(a.val(),t)):a.text(e.localtime.toLocalTime(a.text(),t))},formatPage:function(){var a,t,r=function(){e.localtime.formatObject(e(this),a)},c=e.localtime.getFormat();for(t in c)c.hasOwnProperty(t)&&(a=c[t],e("."+t).each(r));e("[data-localtime-format]").each(function(){e.localtime.formatObject(e(this),e(this).attr("data-localtime-format"))})}}}()})(jQuery),jQuery(document).ready(function(e){"use strict";e.localtime.formatPage()}); \ No newline at end of file +(function(e){"use strict";e.localtime=function(){var a={localtime:"yyyy-MM-dd HH:mm:ss"},t=["January","February","March","April","May","June","July","August","September","October","November","December"],r=["th","st","nd","rd"],c=function(e){return e>=13?e-12:"0"===e?12:e},s=function(e,s){var i=""+e.getFullYear(),o=""+(e.getMonth()+1),n=""+e.getDate(),l=""+e.getHours(),b=""+e.getMinutes(),u=""+e.getSeconds(),m=""+e.getMilliseconds(),f=e.getTimezoneOffset(),d=f>0?"-":"+";if(f=Math.abs(f),void 0===s){var h;for(h in a)if(a.hasOwnProperty(h)){s=a[h];break}if(void 0===s)return""+e}for(var k="",g="",p=0;s.length>p;p++)if(g+=s.charAt(p),"'"===g)for(p++;s.length>p;p++){var M=s.charAt(p);if("'"===M){g="";break}k+=M}else if("\\"===g&&s.length-1>p&&"'"===s.charAt(p+1))p++,k+="'",g="";else if(p===s.length-1||s.charAt(p)!==s.charAt(p+1)){switch(g){case"d":k+=n;break;case"dd":k+=("0"+n).slice(-2);break;case"M":k+=o;break;case"MM":k+=("0"+o).slice(-2);break;case"MMM":k+=t[o-1].substr(0,3);break;case"MMMMM":k+=t[o-1];break;case"yy":k+=i.slice(-2);break;case"yyyy":k+=i;break;case"H":k+=l;break;case"HH":k+=("0"+l).slice(-2);break;case"h":k+=c(l);break;case"hh":k+=("0"+c(l)).slice(-2);break;case"m":k+=b;break;case"mm":k+=("0"+b).slice(-2);break;case"s":k+=u;break;case"ss":k+=("0"+u).slice(-2);break;case"S":k+=m;break;case"SS":k+=("0"+m).slice(-2);break;case"SSS":k+=("00"+m).slice(-3);break;case"o":switch(n){case"11":case"12":case"13":k+=r[0];break;default:var y=n%10;y>3&&(y=0),k+=r[y]}break;case"a":case"tt":k+=l>=12?"PM":"AM";break;case"t":k+=l>=12?"P":"A";break;case"z":k+=d+parseInt(f/60,10);break;case"zz":k+=d+("0"+parseInt(f/60,10)).slice(-2);break;case"zzz":k+=d+("0"+parseInt(f/60,10)).slice(-2)+":"+("0"+f%60).slice(-2);break;default:k+=g}g=""}return k};return{setFormat:function(e){a="object"==typeof e?e:{localtime:e}},getFormat:function(){return a},parseISOTimeString:function(a){a=e.trim(""+a);var t=/^(\d{4})-([01]\d)-([0-3]\d)[T| ]([0-2]\d):([0-5]\d)(?::([0-5]\d)(?:\.(\d{3}))?)?Z$/.exec(a);if(t){var r=parseInt(t[1],10),c=parseInt(t[2],10)-1,s=parseInt(t[3],10),i=parseInt(t[4],10),o=parseInt(t[5],10),n=t[6]?parseInt(t[6],10):0,l=t[7]?parseInt(t[7],10):0,b=new Date(Date.UTC(r,c,s,i,o,n,l));if(b.getUTCFullYear()!==r||b.getUTCMonth()!==c||b.getUTCDate()!==s)throw Error(t[1]+"-"+t[2]+"-"+t[3]+" is not a valid date");if(b.getUTCHours()!==i)throw Error(t[4]+":"+t[5]+" is not a valid time");return b}throw Error(a+" is not a supported date/time string")},toLocalTime:function(a,t){return"[object Date]"!==Object.prototype.toString.call(a)&&(a=e.localtime.parseISOTimeString(a)),""===t&&(t=void 0),s(a,t)},formatObject:function(a,t){a.is(":input")?a.val(e.localtime.toLocalTime(a.val(),t)):a.text(e.localtime.toLocalTime(a.text(),t))},formatPage:function(){var a,t,r=function(){e.localtime.formatObject(e(this),a)},c=e.localtime.getFormat();for(t in c)c.hasOwnProperty(t)&&(a=c[t],e("."+t).each(r));e("[data-localtime-format]").each(function(){e.localtime.formatObject(e(this),e(this).attr("data-localtime-format"))})}}}()})(jQuery),jQuery(document).ready(function(e){"use strict";e.localtime.formatPage()}); \ No newline at end of file diff --git a/src/jquery.localtime.js b/src/jquery.localtime.js index b585645..8deceb9 100644 --- a/src/jquery.localtime.js +++ b/src/jquery.localtime.js @@ -184,7 +184,7 @@ }, toLocalTime: function (timeField, timeFormat) { - if( timeField.constructor.name !== 'Date' ) { + if( Object.prototype.toString.call(timeField) !== '[object Date]' ) { timeField = $.localtime.parseISOTimeString(timeField); } if( timeFormat === '' ) {