acha-framework
Version:
is a modular framework on both client (angular.js) and server (node.js) side, it provides security, orm, ioc, obfuscation and ...
95 lines • 1.97 kB
JavaScript
(function (window, undefined) {
'use strict';
var GregorianCalendar = function (dateOrYear, month, day) {
if (!dateOrYear) {
dateOrYear = new Date();
}
if (Date.isDate(dateOrYear)) {
var calc = new Date(dateOrYear);
this.year = calc.getFullYear();
this.month = calc.getMonth() + 1;
this.day = calc.getDate();
return;
}
this.year = dateOrYear;
this.month = month;
this.day = day;
};
GregorianCalendar.getMonthStartWeekDate = function (year, month) {
return new Date(year, month - 1, 1).getDay() + GregorianCalendar.weekGap;
};
GregorianCalendar.prototype.getMonthStartWeekDate = function () {
return GregorianCalendar.getMonthStartWeekDate(this.year, this.month - 1);
};
GregorianCalendar.prototype.toDate = function () {
return new Date(this.year, this.month - 1, this.day);
};
GregorianCalendar.parsePersian = function () {
return PersianCalendar.toGregorian.apply(null, arguments);
};
GregorianCalendar.parseHijri = function () {
return HijriCalendar.toGregorian.apply(null, arguments);
};
GregorianCalendar.weekGap = 0;
GregorianCalendar.daysInMonth = [
31,
28,
31,
30,
31,
30,
31,
31,
30,
31,
30,
31
];
GregorianCalendar.dayNames = [
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday',
'Sunday'
];
GregorianCalendar.dayNamesShort = [
'Mo',
'Tu',
'We',
'Th',
'Fr',
'Sa',
'Su'
];
GregorianCalendar.monthNames = [
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December'
];
GregorianCalendar.monthNamesShort = [
'Jan',
'Feb',
'Mar',
'Apr',
'May',
'Jun',
'Jul',
'Aug',
'Sep',
'Oct',
'Nov',
'Dec'
];
window.GregorianCalendar = GregorianCalendar;
}(window));