关于日期的一些常用方法的封装——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() { ...
随机推荐
- .NET 垃圾回收浅解
在说明垃圾回收的实现机制之前,先说明一下垃圾回收存在的背景. 垃圾回收器(GC)是.NET平台中一个很重要的组成部分,.NET垃圾回收机制降低了编写程序的复杂程度,使程序员不用耗费精力去处理析构,成功 ...
- OpenStack IceHouse 部署 - 1 - 架构说明
参考架构 Architecture from OpenStack Install Guide Reference Architecture Network Isolation 在本次部署中,我们采用了 ...
- 探索canvas画布绘制技术
图片来自KrzysztofBanaś 下面我们开始尝试研究不同的绘图风格和技术 - 边缘平滑,贝塞尔曲线,墨水和粉笔,笔和印章和图案 -等等.事实证明,网上没有太多关于此的内容.在下面的示例中,您请大 ...
- webstorm git 怎么断开版本控制 webstorm git for windows 禁止 自动运行
也是无语啊,今天装了下最新版本的webstorm , 发现特别卡,老动不动就卡死, 看了下进程, 牛X 啊, git for windows 一直蹭蹭蹭的疯狂增长,一开始的一点到后来的庞然大物. ...
- SP从32位系统到64位系统的迁移方法
前提:目标系统为64位1.在32位系统下正常安装SP,获取SP运行时必须的文件2.将[浪潮集团金融事业部]目录拷贝到目标系统的[C:\Program Files]目录3.进入目标系统的[浪潮集团金融事 ...
- 1 win10双系统安装ubuntu16.04和18.04(问题详细记录)
我从来不想在琐事上花功夫.就拿装系统来说,我感觉拿过来一个完全陌生的项目源码,看起来,都比装系统爽.我属于典型的逻辑思考男.喜欢畅游程序的海洋. 一直windows跑深度学习和tensorflow,有 ...
- C#模拟HTTP POST 请求
GET请求: /// <summary> /// 获取accessToken /// </summary> /// <param name="corpid&qu ...
- C# 等值锁定
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- C# Array类的Sort()方法
Array类实现了数组中元素的冒泡排序.Sort()方法要求数组中的元素实现IComparable接口.如System.Int32 和System.String实现了IComparable接口,所以下 ...
- HTML学习---HTML状态码
301 Moved Permanently 永久移动.请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI.今后任何新的请求都应使用新的URI代替302 Found ...