JS nodeJs 的日期计算

date-utils

前端引用

<script type="text/javascript" src="date-utils.min.js"></script>

下载传送门,猛击我

NODEJS服务端项目调用

1$ cnpm install date-utils 2require('date-utils');

nodejs版本要求>0.6

API :

Static Methods 静态方法

1Date.today(); // today, 00:00:00 2Date.yesterday(); // yesterday, 00:00:00    3Date.tomorrow(); // tomorrow, 00:00:00 4Date.validateDay(day, year, month); // true/false whether a date is valid 5Date.validateYear(year); // true/false whether a year is valid 6Date.validateMonth(month); // true/false whether a month is valid 7Date.validateHour(hour); // true/false whether an hour is valid 8Date.validateMinute(minute); // true/false whether a minute is valid 9Date.validateSecond(second); // true/false whether a second is valid 10Date.validateMillisecond(millisecond); // true/false whether a millisecond is valid 11 12Date.compare(date1, date2); // -1 if date1 is smaller than date2, 0 if equal, 1 if date2 is smaller than date1 13Date.equals(date1, date2); // true/false if date1 is equal to date2 14Date.getDayNumberFromName(name); // su/sun/sunday - 0, mo/mon/monday - 1, etc 15Date.getMonthNumberFromName(name); // jan/january - 0, feb/february - 1, etc 16Date.isLeapYear(year); // true/false whether the year is a leap yearDate.get 17DaysInMonth(year, monthNumber); // number of days in the month 0-11

Instance Methods 接口方法

1d.clone(); // returns a new copy of date object set to the same time 2d.getMonthAbbr(); // abreviated month name, Jan, Feb, etc 3d.getMonthName(); // fill month name, January, February, etcd.getUTCOffset(); // returns the UTC offset 4d.getOrdinalNumber(); // day number of the year, 1-366 (leap year) 5d.clearTime(); // sets time to 00:00:00d.setTimeToNow(); // sets time to current time 6d.toFormat(format); // returns date formatted with: 7  // YYYY - Four digit year 8  // MMMM - Full month name. ie January 9  // MMM  - Short month name. ie Jan 10  // MM   - Zero padded month ie 01 11  // M    - Month ie 1 12  // DDDD - Full day or week name ie Tuesday  13  // DDD  - Abbreviated day of the week ie Tue 14  // DD   - Zero padded day ie 08 15  // D    - Day ie 8 16  // HH24 - Hours in 24 notation ie 18 17  // HH   - Padded Hours ie 06 18  // H    - Hours ie 6 19  // MI   - Padded Minutes 20  // SS   - Padded Seconds 21  // PP   - AM or PM 22  // P    - am or pmd.toYMD(separator); // returns YYYY-MM-DD by default, separator changes delimiter 23   24  d.between(date1, date2); // true/false if the date/time is between date1 and date2 25   26  d.compareTo(date); // -1 if date is smaller than this, 0 if equal, 1 if date is larger than thisd.equals(date); // true/false, true if dates are equal 27   28  d.isBefore(date); // true/false, true if this is before date passed 29   30  d.isAfter(date); // true/false, true if this is after date passed 31   32  d.getDaysBetween(date); // returns number of full days between this and passed 33   34  d.getHoursBetween(date); // returns number of hours days between this and passed 35   36  d.getMinutesBetween(date); // returns number of full minutes between this and passed 37   38  d.getSecondsBetween(date); // returns number of full seconds between this and passed 39   40  d.add({ milliseconds: 30,//这货忒牛逼了,解决了计算问题 41        minutes: 1, 42        hours: 4, 43        seconds: 30, 44        days: 2, 45        weeks: 1, 46        months: 3, 47        years: 2}); // adds time to existing time 48         49        d.addMilliseconds(number); // add milliseconds to existing time 50         51        d.addSeconds(number); // add seconds to existing time 52         53        d.addMinutes(number); // add minutes to existing time 54         55        d.addHours(number); // add hours to existing timed.addDays(number); // add days to existing time 56         57        d.addWeeks(number); // add weeks to existing time 58         59        d.addMonths(number); // add months to existing timed.addYears(number); // add years to existing time 60         61        d.remove(...); // same idea as for add//这里就是减法 62         63        d.removeMilliseconds(number); // ...// same API, just remove instead

静态调用必须要Date.today() 酱紫

动态方法 的 调用 

var today=new Date();

today.add({});如此

其中我还自己添加了两个方法 用于动态获取第几周的功能

1Date.prototype.getWeekOfYear = function() {//这天在本年是第几周 2    var onejan = new Date(this.getFullYear(), 0, 1); 3    return Math.ceil((((this - onejan) / 86400000) + onejan.getDay() + 1) / 7); 4}; 5 6Date.prototype.getWeekOfMonth=function () {//这天在本月是第几周 7 8    var day = this.getDate(); 9 10    //get weekend date 11    day += (this.getDay() == 0 ? 0 : 7 - this.getDay()); 12 13    return Math.ceil(parseFloat(day) / 7); 14};

PS:一个月最多能有6个周序

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java将前端的json数组字符串转换为列表

记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang