针对自己在日常用到的一些日期方法,整理成一个js日期插件,插件定义了一个dates全局对象,继承了Date函数,相当于在Date函数上做了一些扩展。

这个插件会不断更新,所有我之后用到的关于日期的自定义方法都会放到这个插件。

 /**
* 功能描述:针对JS自身的Date对象做了一些更符合使用习惯的扩充和改进
*
*/
/*
* 继承Date
*/
var dates = new Date(); //Object.create(Date);
/*
* 改进Date对象提供的getMonth方法
*/
dates.getMonth = function(){
let a = new Date();
return a.getMonth() + 1;
}
/*
* 返回年月日
* @tag:设置分隔符,如果不设置,默认使用"-"
*/
dates.getYMD = function(tag){
var tag = (tag === null || tag === undefined || tag === ""?"-":tag);
tag = new String(tag);
var ymd =
dates.getFullYear() + tag +
dates.getMonth() + tag +
dates.getDate();
return ymd;
}
/*
* 返回时分秒
* @tag:设置分隔符,如果不设置,默认使用":"
*/
dates.getHMS = function(tag){
var tag = (tag === null || tag === undefined || tag === ""?":":tag);
tag = new String(tag);
var hms =
dates.getHours() + tag +
dates.getMinutes() + tag +
dates.getSeconds();
return hms;
}
/*
* 返回年月日时分秒
*/
dates.getFullTime = function(){
switch (arguments.length){ //完整的包括三个参数,年月日直接的分隔符,时分秒直接的分隔符,年月日和时分秒之间的分隔符
case 0:
//使用默认形式
return dates.getYMD() + " " + dates.getHMS();
break;
case 1:
//一个参数是全部使用该分隔符
return dates.getYMD(arguments[0]) + arguments[0] + dates.getHMS(arguments[0]);
break;
case 2:
//两个参数是仅设置年月日和时分秒的分隔符
return dates.getYMD(arguments[0]) + " " + dates.getHMS(arguments[1]);
break;
case 3:
//三个参数是设置完整参数
return dates.getYMD(arguments[0]) + arguments[1] + dates.getHMS(arguments[2]);
break;
default:
return dates.getYMD(arguments[0]) + arguments[1] + dates.getHMS(arguments[2]);
break;
}
}
/*
* 返回12小时制的时间
*/
dates.get12Hour = function(){
return (dates.getHours() < 12?dates.getHours():dates.getHours()-12);
}
/*
* 返回以当前日期为准,明天的日期
*/
dates.getTomorrow = function(tag){
var tag = (tag === null || tag === undefined || tag === ""?"-":tag);
tag = new String(tag);
tomo = dates.getDate() + 1;
var ymd =
dates.getFullYear() + tag +
dates.getMonth() + tag +
tomo;
return ymd;
}

这其中有个问题,就是特殊字符,以字符的形式输入特殊字符没问题,但如果直接把特殊字符(如@#¥%&*等)作为参数传入就会报错,不太知道如何保证使用简便的前提下处理这个问题。

关于日期的一些常用方法的封装——dates.js的更多相关文章

  1. JsQuick--个人封装的Js库

    JsQuick 该库为本人封装的Js库,尚未进行浏览器兼容 /** * 快速框架 版本:1.0.0 * 日期:2015.02.26 * 作者:简楚恩 */ /** * 快速获取控件类 */ var $ ...

  2. JavaScript---正则使用,日期Date的使用,Math的使用,JS面向对象(工厂模式,元模型创建对象,Object添加方法)

    JavaScript---正则使用,日期Date的使用,Math的使用,JS面向对象(工厂模式,元模型创建对象,Object添加方法) 一丶正则的用法 创建正则对象: 方式一: var reg=new ...

  3. js 日期计算星座 根据生日的月份和日期,一行代码计算星座的js小函数(转)

    本博客根据 开源中国作者清风徐不来 的文章 根据生日的月份和日期,一行代码计算星座的js小函数(转) 原文出自CSDN 无心的专栏 的文章,知识产权归原文作者所有! 点击查看原文:js 日期计算星座

  4. JavaScript数组常用方法解析和深层次js数组扁平化

    前言 数组作为在开发中常用的集合,除了for循环遍历以外,还有很多内置对象的方法,包括map,以及数组筛选元素filter等. 注:文章结尾处附深层次数组扁平化方法操作. 作为引用数据类型的一种,在处 ...

  5. Java日期时间处理常用方法

    虽然是老生常谈,但整理出来还是有点用. 1.由字符串时间得到Date类型时间 // 由字符串时间得到Date类型时间 public static Date getDateFrom(String str ...

  6. 【前端学习笔记】JavaScript 常用方法兼容性封装

    获取样式函数封装 function getStyle(ele,attr){ if(ele.currentStyle){ return ele.currentStyle[attr]; } else{ r ...

  7. JS基石之-----常用方法封装的js库

    解析 URL Params 为对象 let url = 'http://www.domain.com/?user=anonymous&id=123&id=456&city=%E ...

  8. 【转】封装原生JS实现Ajax

    function createXHR() { if (window.XMLHttpRequest) { //IE7+.Firefox.Opera.Chrome 和Safari return new X ...

  9. javascript - 封装原生js实现ajax

    1 /* * ajax方法 */ var Ajax = function() { var that = this; //创建异步请求对象方法 that.createXHR = function() { ...

随机推荐

  1. jquery自动去除form表单中input框前后的空格

    1. 2. <script type="text/javascript"> $(document).ready(function() { $('#searchform ...

  2. git杂记-查看历史提交

    普通查看:git log.输入q退出比较. $ git log commit ca82a6dff817ec66f44342007202690a93763949 Author: Scott Chacon ...

  3. easy canvas shape with react antdesign 简单的canvas图形in antd & react

    //show: //code: import React from "react" import {findDOMNode} from 'react-dom' import { B ...

  4. <Android 基础(二十一)> Android 屏幕适配

    基本概念 1. 什么是屏幕尺寸.屏幕分辨率.屏幕像素密度? 屏幕尺寸是指屏幕对角线的长度.单位是英寸,1英寸=2.54厘米 屏幕分辨率是指在横纵向上的像素点数,单位是px,1px=1像素点,一般是纵向 ...

  5. Android GridView显示SD卡的图片

    GridView的XML布局: main.xml: <GridViewxmlns:android="http://schemas.android.com/apk/res/android ...

  6. 4类Storage方案(AS开发实战第四章学习笔记)

    4.1 共享参数SharedPreferences SharedPreferences按照key-value对的方式把数据保存在配置文件中,该配置文件符合XML规范,文件路径是/data/data/应 ...

  7. EventTarge Node Docuement Element HTMLElement 关系

    综述: 可以将其看做是依次继承的关系: Node Node A Node is an interface from which a number of DOM types inherit, and a ...

  8. 数值的整数次方(C++ 和 Python 实现)

    (说明:本博客中的题目.题目详细说明及参考代码均摘自 “何海涛<剑指Offer:名企面试官精讲典型编程题>2012年”) 题目 实现函数 double Power(double base, ...

  9. 使用mybatis plus自动生成controller、service、dao、mapper、entity代码

    官网:http://mp.baomidou.com(这个项目不仅仅可以用于代码生成,还有分页等其他功能,是对mybatis的一层封装) 要求:基于sql自动生成domain.controller.se ...

  10. 我只是个搬运工,walle

    安装 改进本文 walle 瓦力 自动化1.简洁安装指南 git clone git@github.com:meolu/walle-web.gitcd walle-webvi config/web.p ...