Date:
var DateHelper = {
ISO2WCF: function(value) {
/*var ticks = date.ticks;
var GMT = date.dateFormat('TZD');
return ('/Date(' + ticks + GMT + ')/');*/
var reISO = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/;
var a = reISO.exec(value);
if (a) {
var val = '/Date(' + new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], +a[5], +a[6])).getTime() + ')/';
this[key] = val;
return val;
}
},
toISO: function(date) {
return date.dateFormat('Y-m-d H:i:s', (date.dateFormat('U') - 24 * 3600));
},
toISOShort: function(date) {
return date.dateFormat(Date.patterns.ISO8601Short);
},
/*
* Parse dates string that are in ISO or WCF formats into a Javascript date object
*/
parseWcfDateString: function(value){
/*
var date = jsonDateString.replace(
new RegExp('/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)/', 'g'),
'(new Date($1))'
);
return eval(date);
*/
var reISO = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/;
var reMsAjax = /^\/Date\((d|-|.*)\)[\/|\\]$/;
var a = reISO.exec(value);
if (a)
return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], +a[5], +a[6]));
a = reMsAjax.exec(value);
if (a) {
var b = a[1].split(/[-+,.]/);
var dateTicks = b[0];
try {
var dateValue = parseInt(b[0]); // In milliseconde
// var hourGmt = parseInt(b[1].substring(1))*60*60*10; // In milliseconde GMT + "0200" Deux heures
dateTicks = (dateValue /*+ hourGmt*/).toString();
}catch(exc){
}
return new Date(dateTicks ? +dateTicks : 0 - +b[1]);
}
},
/*JSON2ISO: function(jsonDate) {
var dt = DateHelper.parseJSON(jsonDate);
return DateHelper.toISO(dt);
},*/
/*ISO2JSON: function(isoDate) {
// REVIEW : to finish
var dt = new Date(isoDate);
return DateHelper.toJSON(dt);
},*/
/*
* DConverts date from the JSON format to the "\/Date(1256857200000+0100)\/"
*/
JSON2ISO: function(o) {
/*var saved = o;
try {*/
if (isUndefinedOrNull(o)) return o;
if (typeof(o) == 'string') {
if (o.contains('/Date(') ) {
// reformat the date to ISO
//o = DateHelper.JSON2ISO(o);
var dt = DateHelper.parseWcfDateString(o); //Date.parseDate(o, 'M$') ; //DateHelper.parseJSON(o);
if (! isUndefinedOrNull(dt) )
o = dt.format(Date.patterns.SortableDateTime); //DateHelper.toISO(dt);
}
}
else
{
if (Ext.isArray(o)) {
// array
for(var i=0; i< o.length; i++) {
if (isDefined(o[i])) o[i] = DateHelper.JSON2ISO(o[i]);
}
}
else
if (typeof(o) == 'object') {
// simple object
for(var att in o) {
var attValue = o[att];
if (isUndefinedOrNull(attValue)) continue;
else
{
if (typeof(attValue) == 'function')
continue;
// else, if object, recursively loop in properties
o[att] = DateHelper.JSON2ISO(attValue);
}
}
}
}
/*} catch(ex) {
o = saved;
}*/
return o;
}
}
这个函数不错哦 用来获取触发onclick 的element,而且兼容至少3种浏览器
getEventTarget:function(evt) {
evt = evt || event;
var target;
if (evt.target) {
target = evt.target;
}
if (evt.srcElement) {
target = evt.srcElement;
}
// defeat Safari bug
if (target.nodeType == 3) {
target = target.parentNode;
}
return target;
//return (dojo.isIE) ? evt.srcElement : evt.target;
}
javascrip date convert Useful ^_^
result[i].Date 格式:"2010-12-20T00:00:00"
var month = result[i].Date.substring(5, 7);
var day = result[i].Date.substring(8, 10);
var year = result[i].Date.substring(0, 4);
date = new Date(month + '/' + day + '/' + year);
date = date.format('d-m-Y');