You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
171 lines
9.2 KiB
171 lines
9.2 KiB
|
|
function DateTime() {
|
|
function getDaySuffix(a) {
|
|
var b = "" + a,
|
|
c = b.length,
|
|
d = parseInt(b.substring(c-2, c-1)),
|
|
e = parseInt(b.substring(c-1));
|
|
if (c == 2 && d == 1) return "th";
|
|
switch(e) {
|
|
case 1:
|
|
return "st";
|
|
break;
|
|
case 2:
|
|
return "nd";
|
|
break;
|
|
case 3:
|
|
return "rd";
|
|
break;
|
|
default:
|
|
return "th";
|
|
break;
|
|
};
|
|
};
|
|
|
|
this.getDoY = function(a) {
|
|
var b = new Date(a.getFullYear(),0,1);
|
|
return Math.ceil((a - b) / 86400000);
|
|
}
|
|
|
|
this.date = arguments.length == 0 ? new Date() : new Date(arguments);
|
|
|
|
this.weekdays = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
|
|
this.months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
|
|
this.daySuf = new Array( "st", "nd", "rd", "th" );
|
|
|
|
this.day = {
|
|
index: {
|
|
week: "0" + this.date.getDay(),
|
|
month: (this.date.getDate() < 10) ? "0" + this.date.getDate() : this.date.getDate()
|
|
},
|
|
name: this.weekdays[this.date.getDay()],
|
|
of: {
|
|
week: ((this.date.getDay() < 10) ? "0" + this.date.getDay() : this.date.getDay()) + getDaySuffix(this.date.getDay()),
|
|
month: ((this.date.getDate() < 10) ? "0" + this.date.getDate() : this.date.getDate()) + getDaySuffix(this.date.getDate())
|
|
}
|
|
}
|
|
|
|
this.month = {
|
|
index: (this.date.getMonth() + 1) < 10 ? "0" + (this.date.getMonth() + 1) : this.date.getMonth() + 1,
|
|
name: this.months[this.date.getMonth()]
|
|
};
|
|
|
|
this.year = this.date.getFullYear();
|
|
|
|
this.time = {
|
|
hour: {
|
|
meridiem: (this.date.getHours() > 12) ? (this.date.getHours() - 12) < 10 ? "0" + (this.date.getHours() - 12) : this.date.getHours() - 12 : (this.date.getHours() < 10) ? "0" + this.date.getHours() : this.date.getHours(),
|
|
military: (this.date.getHours() < 10) ? "0" + this.date.getHours() : this.date.getHours(),
|
|
noLeadZero: {
|
|
meridiem: (this.date.getHours() > 12) ? this.date.getHours() - 12 : this.date.getHours(),
|
|
military: this.date.getHours()
|
|
}
|
|
},
|
|
minute: (this.date.getMinutes() < 10) ? "0" + this.date.getMinutes() : this.date.getMinutes(),
|
|
seconds: (this.date.getSeconds() < 10) ? "0" + this.date.getSeconds() : this.date.getSeconds(),
|
|
milliseconds: (this.date.getMilliseconds() < 100) ? (this.date.getMilliseconds() < 10) ? "00" + this.date.getMilliseconds() : "0" + this.date.getMilliseconds() : this.date.getMilliseconds(),
|
|
meridiem: (this.date.getHours() > 12) ? "PM" : "AM"
|
|
};
|
|
|
|
this.sym = {
|
|
d: {
|
|
d: this.date.getDate(),
|
|
dd: (this.date.getDate() < 10) ? "0" + this.date.getDate() : this.date.getDate(),
|
|
ddd: this.weekdays[this.date.getDay()].substring(0, 3),
|
|
dddd: this.weekdays[this.date.getDay()],
|
|
ddddd: ((this.date.getDate() < 10) ? "0" + this.date.getDate() : this.date.getDate()) + getDaySuffix(this.date.getDate()),
|
|
m: this.date.getMonth() + 1,
|
|
mm: (this.date.getMonth() + 1) < 10 ? "0" + (this.date.getMonth() + 1) : this.date.getMonth() + 1,
|
|
mmm: this.months[this.date.getMonth()].substring(0, 3),
|
|
mmmm: this.months[this.date.getMonth()],
|
|
yy: (""+this.date.getFullYear()).substr(2, 2),
|
|
yyyy: this.date.getFullYear()
|
|
},
|
|
t: {
|
|
h: (this.date.getHours() > 12) ? this.date.getHours() - 12 : this.date.getHours(),
|
|
hh: (this.date.getHours() > 12) ? (this.date.getHours() - 12) < 10 ? "0" + (this.date.getHours() - 12) : this.date.getHours() - 12 : (this.date.getHours() < 10) ? "0" + this.date.getHours() : this.date.getHours(),
|
|
hhh: this.date.getHours(),
|
|
m: this.date.getMinutes(),
|
|
mm: (this.date.getMinutes() < 10) ? "0" + this.date.getMinutes() : this.date.getMinutes(),
|
|
s: this.date.getSeconds(),
|
|
ss: (this.date.getSeconds() < 10) ? "0" + this.date.getSeconds() : this.date.getSeconds(),
|
|
ms: this.date.getMilliseconds(),
|
|
mss: Math.round(this.date.getMilliseconds()/10) < 10 ? "0" + Math.round(this.date.getMilliseconds()/10) : Math.round(this.date.getMilliseconds()/10),
|
|
msss: (this.date.getMilliseconds() < 100) ? (this.date.getMilliseconds() < 10) ? "00" + this.date.getMilliseconds() : "0" + this.date.getMilliseconds() : this.date.getMilliseconds()
|
|
}
|
|
};
|
|
|
|
this.formats = {
|
|
compound: {
|
|
commonLogFormat: this.sym.d.dd + "/" + this.sym.d.mmm + "/" + this.sym.d.yyyy + ":" + this.sym.t.hhh + ":" + this.sym.t.mm + ":" + this.sym.t.ss,
|
|
exif: this.sym.d.yyyy + ":" + this.sym.d.mm + ":" + this.sym.d.dd + " " + this.sym.t.hhh + ":" + this.sym.t.mm + ":" + this.sym.t.ss,
|
|
/*iso1: "",
|
|
iso2: "",*/
|
|
mySQL: this.sym.d.yyyy + "-" + this.sym.d.mm + "-" + this.sym.d.dd + " " + this.sym.t.hhh + ":" + this.sym.t.mm + ":" + this.sym.t.ss,
|
|
postgreSQL1: this.sym.d.yyyy + "." + this.getDoY(this.date),
|
|
postgreSQL2: this.sym.d.yyyy + "" + this.getDoY(this.date),
|
|
soap: this.sym.d.yyyy + "-" + this.sym.d.mm + "-" + this.sym.d.dd + "T" + this.sym.t.hhh + ":" + this.sym.t.mm + ":" + this.sym.t.ss + "." + this.sym.t.mss,
|
|
//unix: "",
|
|
xmlrpc: this.sym.d.yyyy + "" + this.sym.d.mm + "" + this.sym.d.dd + "T" + this.sym.t.hhh + ":" + this.sym.t.mm + ":" + this.sym.t.ss,
|
|
xmlrpcCompact: this.sym.d.yyyy + "" + this.sym.d.mm + "" + this.sym.d.dd + "T" + this.sym.t.hhh + "" + this.sym.t.mm + "" + this.sym.t.ss,
|
|
wddx: this.sym.d.yyyy + "-" + this.sym.d.m + "-" + this.sym.d.d + "T" + this.sym.t.h + ":" + this.sym.t.m + ":" + this.sym.t.s
|
|
},
|
|
constants: {
|
|
atom: this.sym.d.yyyy + "-" + this.sym.d.mm + "-" + this.sym.d.dd + "T" + this.sym.t.hhh + ":" + this.sym.t.mm + ":" + this.sym.t.ss,
|
|
cookie: this.sym.d.dddd + ", " + this.sym.d.dd + "-" + this.sym.d.mmm + "-" + this.sym.d.yy + " " + this.sym.t.hhh + ":" + this.sym.t.mm + ":" + this.sym.t.ss,
|
|
iso8601: this.sym.d.yyyy + "-" + this.sym.d.mm + "-" + this.sym.d.dd + "T" + this.sym.t.hhh + ":" + this.sym.t.mm + ":" + this.sym.t.ss,
|
|
rfc822: this.sym.d.ddd + ", " + this.sym.d.dd + " " + this.sym.d.mmm + " " + this.sym.d.yy + " " + this.sym.t.hhh + ":" + this.sym.t.mm + ":" + this.sym.t.ss,
|
|
rfc850: this.sym.d.dddd + ", " + this.sym.d.dd + "-" + this.sym.d.mmm + "-" + this.sym.d.yy + " " + this.sym.t.hhh + ":" + this.sym.t.mm + ":" + this.sym.t.ss,
|
|
rfc1036: this.sym.d.ddd + ", " + this.sym.d.dd + " " + this.sym.d.mmm + " " + this.sym.d.yy + " " + this.sym.t.hhh + ":" + this.sym.t.mm + ":" + this.sym.t.ss,
|
|
rfc1123: this.sym.d.ddd + ", " + this.sym.d.dd + " " + this.sym.d.mmm + " " + this.sym.d.yyyy + " " + this.sym.t.hhh + ":" + this.sym.t.mm + ":" + this.sym.t.ss,
|
|
rfc2822: this.sym.d.ddd + ", " + this.sym.d.dd + " " + this.sym.d.mmm + " " + this.sym.d.yyyy + " " + this.sym.t.hhh + ":" + this.sym.t.mm + ":" + this.sym.t.ss,
|
|
rfc3339: this.sym.d.yyyy + "-" + this.sym.d.mm + "-" + this.sym.d.dd + "T" + this.sym.t.hhh + ":" + this.sym.t.mm + ":" + this.sym.t.ss,
|
|
rss: this.sym.d.ddd + ", " + this.sym.d.dd + " " + this.sym.d.mmm + " " + this.sym.d.yy + " " + this.sym.t.hhh + ":" + this.sym.t.mm + ":" + this.sym.t.ss,
|
|
w3c: this.sym.d.yyyy + "-" + this.sym.d.mm + "-" + this.sym.d.dd + "T" + this.sym.t.hhh + ":" + this.sym.t.mm + ":" + this.sym.t.ss
|
|
},
|
|
pretty: {
|
|
a: this.sym.t.hh + ":" + this.sym.t.mm + "." + this.sym.t.ss + this.time.meridiem + " " + this.sym.d.dddd + " " + this.sym.d.ddddd + " of " + this.sym.d.mmmm + ", " + this.sym.d.yyyy,
|
|
b: this.sym.t.hh + ":" + this.sym.t.mm + " " + this.sym.d.dddd + " " + this.sym.d.ddddd + " of " + this.sym.d.mmmm + ", " + this.sym.d.yyyy,
|
|
c: this.sym.d.ddddd + " " + this.sym.d.mmmm + ", " + this.sym.t.hh + ":" + this.sym.t.mm
|
|
}
|
|
};
|
|
};
|
|
|
|
document.getElementById('files').addEventListener('change', handleFileSelect, false);
|
|
|
|
function handleFileSelect(evt) {
|
|
var startByte = evt.target.getAttribute('data-startbyte');
|
|
var endByte = evt.target.getAttribute('data-endbyte');
|
|
readBlob(startByte, endByte);
|
|
}
|
|
|
|
function readBlob(opt_startByte, opt_stopByte) {
|
|
|
|
var files = document.getElementById('files').files;
|
|
if (!files.length) {
|
|
alert('Please select a file!');
|
|
return;
|
|
}
|
|
|
|
var file = files[0];
|
|
var start = parseInt(opt_startByte) || 0;
|
|
var stop = parseInt(opt_stopByte) || file.size - 1;
|
|
|
|
var reader = new FileReader();
|
|
|
|
// If we use onloadend, we need to check the readyState.
|
|
reader.onloadend = function(e) {
|
|
if (e.target.readyState == FileReader.DONE) { // DONE == 2
|
|
|
|
var confString = e.target.result;
|
|
|
|
postCall("SuperNET",confString, function(result){
|
|
console.log(result);
|
|
});
|
|
|
|
}
|
|
};
|
|
|
|
var blob = file.slice(start, stop + 1);
|
|
reader.readAsBinaryString(blob);
|
|
}
|