webcito / js-date-extensions
描述
This package is auto-updated.
Last update: 2024-09-10 11:22:39 UTC
README
JavaScript对象Date的一些实用扩展
目录
通用方法
setLocale
设置语言
// example Date.setLocale('de');
getUnits
获取毫秒时间单位
@return {object}
// example Date.getUnits(); // { year: 31536000000, month: 2628000000, week: 604800000, day: 86400000, hour: 3600000, minute: 60000, second: 1000 }
getDayNames
@param {boolean} abbreviation 默认 false
@returns {string[]}
// example Date.getDayNames(true); // [ "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So" ]
getMonthNames
@param {boolean} abbreviation 默认 false
@returns {string[]}
// example Date.getMonthNames(true); // [ "Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"]
操作Date对象的方法
addDays
将指定天数加到日期上
@param {number} days
@return {Date}
// example let date = new Date('2022-11-01'); date.addDays(4); // 2022-11-05
subDays
从日期减去指定天数
@param {number} days
@returns {Date}
// example let date = new Date('2022-11-01'); date.subDays(4); // 2022-10-28
addMonths
将指定月份数加到日期上
@param {number} months
@returns {Date}
// example let date = new Date('2022-11-01'); date.addMonths(4); // 2023-03-01
subMonths
从日期减去指定月份数
@param {number} months
@returns {Date}
// example let date = new Date('2022-11-01'); date.subMonths(1); // 2022-10-01
返回Date对象新实例的方法
clone
@returns {Date}
// example let date = new Date('2022-11-01'); let cloneDate = date.clone(); // 2022-11-01
copy
返回Date对象的新实例(clone的别名)
@returns {Date}
// example let date = new Date('2022-11-01'); let copyDate = date.copy(); // 2022-11-01
getFirstDayOfMonth
确定当前月份的第一天
@returns {Date}
// example let date = new Date('2022-11-10'); let firstOfMonth = date.getFirstDayOfMonth(); // 2022-11-01
getLastDayOfMonth
确定当前月份的最后一天
@returns {Date}
// example let date = new Date('2022-11-10'); let firstOfMonth = date.getLastDayOfMonth(); // 2022-11-30
getFirstDayOfWeek
确定当前日期的上一个星期一
@returns {Date}
// example let date = new Date('2022-11-10'); let prevMonday = date.getFirstDayOfWeek(); // 2022-11-07
getLastDayOfWeek
确定当前日期的星期日
@returns {Date}
// example let date = new Date('2022-11-10'); let nextSunday = date.getLastDayOfWeek(); // 2022-11-13
测试返回非日期对象的方法
isLeapYear
检查日期的年份是否为闰年
@returns {boolean}
// example let date = new Date('2024-11-01'); if (date.isLeapYear()) // true { // do something }
isMonday, isTuesday, isWednesday, isThursday, isFriday, isSaturday, isSunday, isWeekend
检查日期是否为工作日
@returns {boolean}
// example let date = new Date('2022-11-01'); date.isMonday(); // false date.isTuesday(); // true date.isWednesday(); // false date.isThursday(); // false date.isFriday(); // false date.isSaturday(); // false date.isSunday(); // false date.isWeekend(); // false
getDaysInMonth
确定当前月份的天数
@returns {number}
// example let date = new Date('2022-11-01'); date.getDaysInMonth(); // 30
getWeek
确定日期的日历周
@returns {number}
// example let date = new Date('2022-11-01'); date.getWeek(); // 44
getCountWeeks
确定两个日期之间的周数
@param {Date} toDate
@returns {number}
// example let date = new Date('2022-11-01'); let toDate = new Date('2022-11-14'); date.getCountWeeks(toDate); // 2
getCountDays
确定两个日期之间的天数
@param {Date} toDate
@returns {number}
// example let date = new Date('2022-11-01'); let toDate = new Date('2022-11-14'); date.getCountDays(toDate); // 14
fromNow
let date = new Date('2022-11-06 23:54:00'); // Now: 2022-11-07 05:55:00 date.fromNow(); // vor 6 Stunden
getDayName
let date = new Date('2022-11-06 23:54:00'); // Now: 2022-11-07 05:55:00 date.getDayName(); // Sonntag
getMonthName
let date = new Date('2022-11-06 23:54:00'); // Now: 2022-11-07 05:55:00 date.getMonthName(); // November
getMonthCalendar
返回一个月的所有数据作为数组
@return {*[]}
// example let date = new Date('2022-11-01'); let result = date.getMonthCalendar(); // output result [ { "week": 44, "days": [ "2022-10-31T23:00:00.000Z", "2022-11-01T23:00:00.000Z", "2022-11-02T23:00:00.000Z", "2022-11-03T23:00:00.000Z", "2022-11-04T23:00:00.000Z", "2022-11-05T23:00:00.000Z", "2022-11-06T23:00:00.000Z" ] }, { "week": 45, "days": [ "2022-11-07T23:00:00.000Z", "2022-11-08T23:00:00.000Z", "2022-11-09T23:00:00.000Z", "2022-11-10T23:00:00.000Z", "2022-11-11T23:00:00.000Z", "2022-11-12T23:00:00.000Z", "2022-11-13T23:00:00.000Z" ] }, { "week": 46, "days": [ "2022-11-14T23:00:00.000Z", "2022-11-15T23:00:00.000Z", "2022-11-16T23:00:00.000Z", "2022-11-17T23:00:00.000Z", "2022-11-18T23:00:00.000Z", "2022-11-19T23:00:00.000Z", "2022-11-20T23:00:00.000Z" ] }, { "week": 47, "days": [ "2022-11-21T23:00:00.000Z", "2022-11-22T23:00:00.000Z", "2022-11-23T23:00:00.000Z", "2022-11-24T23:00:00.000Z", "2022-11-25T23:00:00.000Z", "2022-11-26T23:00:00.000Z", "2022-11-27T23:00:00.000Z" ] }, { "week": 48, "days": [ "2022-11-28T23:00:00.000Z", "2022-11-29T23:00:00.000Z", "2022-11-30T23:00:00.000Z", "2022-12-01T23:00:00.000Z", "2022-12-02T23:00:00.000Z", "2022-12-03T23:00:00.000Z", "2022-12-04T23:00:00.000Z" ] } ]
getWeekCalendar
返回一周的所有数据作为数组
@return {*[]}
// example let date = new Date('2023-02-09'); let result = date.getWeekCalendar(); // output result [ "2023-02-06T23:00:00.000Z", "2023-02-07T23:00:00.000Z", "2023-02-08T23:00:00.000Z", "2023-02-09T23:00:00.000Z", "2023-02-10T23:00:00.000Z", "2023-02-11T23:00:00.000Z", "2023-02-12T23:00:00.000Z", ]