/usr/lib/x86_64-linux-gnu/qt5/qml/Ubuntu/Settings/Components/dateExt.js is in qtdeclarative5-ubuntu-settings-components 0.7+16.04.20160321.1-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | .pragma library
function diffMonths(dateA, dateB) {
var months;
months = (dateB.getFullYear() - dateA.getFullYear()) * 12;
months -= dateA.getMonth();
months += dateB.getMonth();
return Math.max(months, 0);
}
Date.msPerDay = 86400e3
Date.msPerWeek = Date.msPerDay * 7
Date.leapYear = function(year) {
return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)
}
Date.daysInMonth = function(year, month) {
return [
31/*Jan*/, 28/*Feb*/, 31/*Mar*/, 30/*Apr*/, 31/*May*/, 30/*Jun*/,
31/*Jul*/, 31/*Aug*/, 30/*Sep*/, 31/*Oct*/, 30/*Nov*/, 31/*Dec*/
][month] + (month == 1) * Date.leapYear(year)
}
Date.weeksInMonth = function(year, month, weekday) {
var y = year, m = month
var date0 = new Date(y, m, 1)
var date1 = new Date(y + (m == 11), m < 11 ? m + 1 : 0, 1)
var day = date0.getDay()
var m = (date1.getTime() - date0.getTime()) / Date.msPerDay
var n = 0
while (m > 0) {
if (day == weekday) n = n + 1
day = day < 6 ? day + 1 : 0
m = m - 1
}
return n
}
Date.prototype.midnight = function() {
var date = new Date(this)
date.setHours(0,0,0,0);
return date
}
Date.prototype.addDays = function(days) {
var date = new Date(this)
date.setTime(date.getTime() + Date.msPerDay * days)
return date
}
Date.prototype.addMonths = function(months) {
var date = new Date(this)
date.setMonth(date.getMonth() + months)
return date
}
Date.prototype.weekStart = function(weekStartDay) {
var date = this.midnight()
var day = date.getDay(), n = 0
while (day != weekStartDay) {
if (day == 0) day = 6
else day = day - 1
n = n + 1
}
return date.addDays(-n)
}
Date.prototype.monthStart = function() {
var date = new Date(this).midnight();
date.setDate(1);
return date;
}
Date.prototype.weekNumber = function() {
var date = this.weekStart(1).addDays(3) // Thursday midnight
var newYear = new Date(date.getFullYear(), 0 /*Jan*/, 1 /*the 1st*/)
var n = 0
var tx = date.getTime(), tn = newYear.getTime()
while (tn < tx) {
tx = tx - Date.msPerWeek
n = n + 1
}
return n
}
Date.prototype.weeksInMonth = function(weekday) {
return Date.weeksInMonth(this.getFullYear(), this.getMonth(), weekday)
}
|