前端引用

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

NODEJS服务端项目调用

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

API :

Static Methods 静态方法

Date.today(); // 今天, 00:00:00
Date.yesterday(); // 昨天, 00:00:00   
Date.tomorrow(); // 明天, 00:00:00
Date.validateDay(day, year, month); // true/false 否是有效的
Date.validateYear(year); // true/false 一年之内是否有效

Date.validateMonth(month); // true/false 一个月之内是否有效

Date.validateHour(hour); // true/false 一个小时内是否有效

Date.validateMinute(minute); // true/false 一分钟内是否有效

Date.validateSecond(second); // true/false 一秒钟是否有效
Date.validateMillisecond(millisecond); // true/false 一毫秒内是否有效
Date.compare(date1, date2); // -1 如果要小于0,如果相等 如果要小于1

Date.equals(date1, date2); // true/false 时间1和2是否相等

Date.getDayNumberFromName(name); // su/sun/sunday - 0, mo/mon/monday - 1, etc
Date.getMonthNumberFromName(name); // jan/january - 0, feb/february - 1, etc
Date.isLeapYear(year); // true/false whether the year is a leap yearDate.get
DaysInMonth(year, monthNumber); // 本月天数

Instance Methods 接口方法

d.clone(); // 返回一个新的日期对象集的副本 
d.getMonthAbbr(); // 短流程的月份名称 , Jan, Feb, etc
d.getMonthName(); // fill month name, January, February, etcd.getUTCOffset(); // returns the UTC offset
d.getOrdinalNumber(); // day number of the year, 1-366 (leap year)
d.clearTime(); // sets time to 00:00:00d.setTimeToNow(); // sets time to current time
d.toFormat(format); // 返回日期格式 with:
  // YYYY - Four digit year
  // MMMM - Full month name. ie January
  // MMM  - Short month name. ie Jan
  // MM   - Zero padded month ie 01
  // M    - Month ie 1
  // DDDD - Full day or week name ie Tuesday 
  // DDD  - Abbreviated day of the week ie Tue
  // DD   - Zero padded day ie 08
  // D    - Day ie 8
  // HH24 - Hours in 24 notation ie 18
  // HH   - Padded Hours ie 06
  // H    - Hours ie 6
  // MI   - Padded Minutes
  // SS   - Padded Seconds
  // PP   - AM or PM
  // P    - am or pmd.toYMD(separator); // returns YYYY-MM-DD by default, separator changes delimiter
  
  d.between(date1, date2); // true/false if the date/time is between date1 and date2
  
  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
  
  d.isBefore(date); // true/false, true if this is before date passed
  
  d.isAfter(date); // true/false, true if this is after date passed
  
  d.getDaysBetween(date); // returns number of full days between this and passed
  
  d.getHoursBetween(date); // returns number of hours days between this and passed
  
  d.getMinutesBetween(date); // returns number of full minutes between this and passed
  
  d.getSecondsBetween(date); // returns number of full seconds between this and passed
  
  d.add({ milliseconds: 30,//计算问题
        minutes: 1,
        hours: 4,
        seconds: 30,
        days: 2,
        weeks: 1,
        months: 3,
        years: 2}); // adds time to existing time
        
        d.addMilliseconds(number); // 添加到现有时间的毫秒数         
        d.addSeconds(number); // 添加到现有时间秒         
        d.addMinutes(number); // 添加几分钟到现有时间         
        d.addHours(number); // add hours to existing time
d.addDays(number); // add days to existing time
        
        d.addWeeks(number); // add weeks to existing time
        
        d.addMonths(number); // add months to existing timed.addYears(number); // add years to existing time
        
        d.remove(...); // same idea as for add//这里就是减法
        
        d.removeMilliseconds(number); // ...// same API, just remove instead

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

动态方法 的 调用

var today=new Date();

today.add({});如此

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

Date.prototype.getWeekOfYear = function() {//这天在本年是第几周
    var onejan = new Date(this.getFullYear(), 0, 1);
    return Math.ceil((((this - onejan) / 86400000) + onejan.getDay() + 1) / 7);
};

Date.prototype.getWeekOfMonth=function () {//这天在本月是第几周

var day = this.getDate();

//get weekend date
    day += (this.getDay() == 0 ? 0 : 7 - this.getDay());

return Math.ceil(parseFloat(day) / 7);
};

node.js date-utils的更多相关文章

  1. ubuntu14 安装Node.js

    @brief ubuntu  安装Node.js @date 2018-06-28 @see Ubuntu 上安装 Node.js(https://www.runoob.com/nodejs/node ...

  2. 【译】深入理解python3.4中Asyncio库与Node.js的异步IO机制

    转载自http://xidui.github.io/2015/10/29/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3python3-4-Asyncio%E5%BA%93% ...

  3. Understanding Asynchronous IO With Python 3.4's Asyncio And Node.js

    [转自]http://sahandsaba.com/understanding-asyncio-node-js-python-3-4.html Introduction I spent this su ...

  4. KoaHub.js:使用ES6/7特性开发Node.js框架(2)

    介绍   KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Function, Class, Async ...

  5. Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例

    目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mys ...

  6. [转]Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例

    本文转自:https://www.cnblogs.com/zhongweiv/p/nodejs_koa2_webapp.html 目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装 ...

  7. Nodejs学习笔记(十五)—Node.js + Koa2 构建网站简单示例

    前言 前面一有写到一篇Node.js+Express构建网站简单示例:http://www.cnblogs.com/zhongweiv/p/nodejs_express_webapp.html 这篇还 ...

  8. node.js中express-session配置项详解

    官方地址:https://www.npmjs.com/package/express-session 作用:用指定的参数创建一个session中间件,sesison数据不是保存在cookie中,仅仅s ...

  9. Vue+node.js+express+mysql实例---对图书信息进行管理

    一个简单的 CURD 实例 ---对图书信息进行管理 目录 1 开发环境 1.1 前端开发环境 1.2 后端开发环境 2 数据库设计和创建 2.1 数据库和表设计 2.2 book 表设计 2.3 s ...

  10. Node.js躬行记(4)——自建前端监控系统

    这套前端监控系统用到的技术栈是:React+MongoDB+Node.js+Koa2.将性能和错误量化.因为自己平时喜欢吃菠萝,所以就取名叫菠萝系统.其实在很早以前就有这个想法,当时已经实现了前端的参 ...

随机推荐

  1. 【sqli-labs】 less39 GET -Stacked Query Injection -Intiger based (GET型堆叠查询整型注入)

    http://192.168.136.128/sqli-labs-master/Less-39/?id=1;insert into users(id,username,password) values ...

  2. Metadata

    元数据是关于数据的组织.数据域及其关系的信息,简言之,元数据就是关于数据的数据. Metadata is "data [information] that provides informat ...

  3. LOJ #6041. 「雅礼集训 2017 Day7」事情的相似度 LCT+SAM+线段树

    Code: #include<bits/stdc++.h> #define maxn 200003 using namespace std; void setIO(string s) { ...

  4. 子元素设置margin-top作用到了父元素

    子元素设置margin-top,父元素也受影响 解决办法:给父元素加个padding或border或overflow:hidden或父元素加前置内容生成 CSS中盒模型的理解

  5. 洛谷P1141 01迷宫【DFS】

    有一个仅由数字00与11组成的n \times nn×n格迷宫.若你位于一格0上,那么你可以移动到相邻44格中的某一格11上,同样若你位于一格1上,那么你可以移动到相邻44格中的某一格00上. 你的任 ...

  6. ubuntu 16.04 忘记登录密码的解决办法

    1.开机点击ESC或长按Shift,进入GUN GRUB界面  2.选择有recovery mode的选项,按e进入命令行  3.找到有recovery nomodeset的行,删除recovery ...

  7. 关于使用element中的popup问题

    高产似母猪..写完上篇看了几集新番就空虚了..零点时分决定爬起来,趁着清明假期能写多写点. 1.前言 我们知道弹出框都是在触发了某种条件后展示,而一个个的新的弹出框的展示,总是覆盖着上一个弹出框.实现 ...

  8. Golang - 流程控制

    目录 Golang - 流程控制 1. 选择结构 2. 循环结构 3. 跳转语句 Golang - 流程控制 1. 选择结构 if else语句: //package 声明开头表示代码所属包 pack ...

  9. 5G的前景以及意义

    首先来介绍一下5G:5G网络是第五代移动通信网络,其峰值理论传输速度可达每8秒1GB,比4G网络的传输速度快数百倍.举例来说,一部1G的电影可在8秒之内下载完成. 5G的技术原理是:三星电子通过研究和 ...

  10. 【hihocoder 1475】 数组分拆

    [题目链接]:http://hihocoder.com/problemset/problem/1475 [题意] _< [题解] /* 别人的题解 首先对于每个位置预处理数组的前缀和,即s[i] ...