关于日期的一些常用方法的封装——dates.js
针对自己在日常用到的一些日期方法,整理成一个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的更多相关文章
- JsQuick--个人封装的Js库
JsQuick 该库为本人封装的Js库,尚未进行浏览器兼容 /** * 快速框架 版本:1.0.0 * 日期:2015.02.26 * 作者:简楚恩 */ /** * 快速获取控件类 */ var $ ...
- JavaScript---正则使用,日期Date的使用,Math的使用,JS面向对象(工厂模式,元模型创建对象,Object添加方法)
JavaScript---正则使用,日期Date的使用,Math的使用,JS面向对象(工厂模式,元模型创建对象,Object添加方法) 一丶正则的用法 创建正则对象: 方式一: var reg=new ...
- js 日期计算星座 根据生日的月份和日期,一行代码计算星座的js小函数(转)
本博客根据 开源中国作者清风徐不来 的文章 根据生日的月份和日期,一行代码计算星座的js小函数(转) 原文出自CSDN 无心的专栏 的文章,知识产权归原文作者所有! 点击查看原文:js 日期计算星座
- JavaScript数组常用方法解析和深层次js数组扁平化
前言 数组作为在开发中常用的集合,除了for循环遍历以外,还有很多内置对象的方法,包括map,以及数组筛选元素filter等. 注:文章结尾处附深层次数组扁平化方法操作. 作为引用数据类型的一种,在处 ...
- Java日期时间处理常用方法
虽然是老生常谈,但整理出来还是有点用. 1.由字符串时间得到Date类型时间 // 由字符串时间得到Date类型时间 public static Date getDateFrom(String str ...
- 【前端学习笔记】JavaScript 常用方法兼容性封装
获取样式函数封装 function getStyle(ele,attr){ if(ele.currentStyle){ return ele.currentStyle[attr]; } else{ r ...
- JS基石之-----常用方法封装的js库
解析 URL Params 为对象 let url = 'http://www.domain.com/?user=anonymous&id=123&id=456&city=%E ...
- 【转】封装原生JS实现Ajax
function createXHR() { if (window.XMLHttpRequest) { //IE7+.Firefox.Opera.Chrome 和Safari return new X ...
- javascript - 封装原生js实现ajax
1 /* * ajax方法 */ var Ajax = function() { var that = this; //创建异步请求对象方法 that.createXHR = function() { ...
随机推荐
- CentOS 安装Parallels Tools
为了做到Mac和Linux之间共享文件夹,因此需要安装Parallels Tool, 具体安装步骤可以参考 install parallels tool for linux guest http:// ...
- Delegate背后的秘密
表面上看来使用delegate是一件很简单的事. 用delegate关键字定义,使用老套的new创建一个instance ,使用熟悉的方法调用写法调用,只不过不在是方法名,而是委托名. 但是在这背后C ...
- csharp: Double Convert To String
/// <summary> /// /// </summary> /// <param name="fl"></param> /// ...
- web 开发人员必须学习的 3 门语言
web 开发人员必须学习的 3 门语言:html css js HTML 定义了网页的内容 CSS 描述了网页的布局 JavaScript 网页的行为
- 洛谷P2792 [JSOI2008]小店购物(最小树形图)
题意 题目链接 Sol 一开始的思路:新建一个虚点向每个点连边,再加上题面中给出的边,边权均为大小*需要购买的数量 然后发现死活都过不去 看了题解才发现题目中有个细节--买了\(A\)就可以买\(B\ ...
- Flex 加载pdf
如果想要在flex加载pdf,虽然pdf格式是开源的,但是自己去解析太麻烦了,pdf还要分页之类的,现在网上各种文档上传可以在线看很多都是pdf,当然也有word,excel之类,其实很多都是转了sw ...
- 用户登陆显示cpu、负载、内存信息
#用户登陆显示cpu.负载.内存信息 #!/bin/bash # hostip=`ifconfig eth0 |awk -F" +|:" '/Bcast/{print $4}'` ...
- Monte Carlo与TD算法
RL 博客:http://blog.sciencenet.cn/home.php?mod=space&uid=3189881&do=blog&view=me&from= ...
- 闭包&执行环境和作用域
闭包 执行环境和作用域参考:<javascript高级程序设计(第3版)>4.2节
- java笔记--正则表达式的运用(包括电话,邮箱验证等)
正则表达式 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3877402.html "谢谢-- 正则表达式符号:" ...