Js之DateFormat工具类
/**
* 对Date的扩展,将Date转化为指定格式的String
* 年(y)、季度(q)、月(M)、日(d)、小时(h)、分(m)、秒(s)可以用1-2个占位符
* 示例:
* FormatDateCNT(new Date(),"yyyy-MM-dd hh:mm:ss")
* @param obj 具体的日期
* @param type 日期格式 如:yyyy年MM月dd日
*/
function FormatDateCNT(obj,type){
var myDate = new Date(obj);
var y = myDate.getFullYear();
var q = Math.floor((myDate.getMonth()+3)/3);
var M = ("0"+(myDate.getMonth()+1)).slice(-2);
var d = ("0"+myDate.getDate()).slice(-2);
var h = ("0"+myDate.getHours()).slice(-2);
var m = ("0"+myDate.getMinutes()).slice(-2);
var s = ("0"+myDate.getSeconds()).slice(-2);
var mi = ("00"+myDate.getMilliseconds()).slice(-3);
var current_date = '';
if(type=="yyyy-MM-dd"){
current_date = y + '年' + M + '月' + d + '日';
}else if(type=="yyyy-MM-dd HH:mm:ss"){
current_date = y + '年' + M + '月' + d + '日 ' + h + '时' + m + '分' + s + '秒';
}
return current_date;
}
/**
* 对Date的扩展,将Date转化为指定格式的String
* 年(y)、季度(q)、月(M)、日(d)、消失(h)、分(m)、秒(s)、毫秒(S)可以用1-2个占位符
* 示例:
* FormatDateTime(new Date(),"yyyy-MM-dd hh:mm:ss.s")
* @param obj 具体的日期
* @param type 日期格式 如:yyyy-MM-dd
*/
function FormatDateTime(obj,type){
if(!obj){return obj;}
var myDate = new Date(obj);
var y = myDate.getFullYear();
var q = Math.floor((myDate.getMonth()+3)/3);
var M = ("0"+(myDate.getMonth()+1)).slice(-2);
var d = ("0"+myDate.getDate()).slice(-2);
var h = ("0"+myDate.getHours()).slice(-2);
var m = ("0"+myDate.getMinutes()).slice(-2);
var s = ("0"+myDate.getSeconds()).slice(-2);
var mi = ("00"+myDate.getMilliseconds()).slice(-3);
var current_date = '';
if(type=="yyyy-MM-dd"){
current_date = y + '-' + M + '-' + d;
}else if(type=="yyyy-MM-dd HH:mm:ss"){
current_date = y + '-' + M + '-' + d + ' ' + h + ':' + m + ':' + s;
}else if(type=="yyyy-MM-dd HH:mm:ss.s"){
current_date = y + '-' + M + '-' + d + ' ' + h + ':' + m + ':' + s + '.' + mi;
}else if(type=="yyyy/MM/dd"){
current_date = y + '/' + M + '/' + d;
}else if(type=="yyyy/MM/dd HH:mm:ss"){
current_date = y + '/' + M + '/' + d + ' ' + h + ':' + m + ':' + s;
}else if(type=="yyyy/MM/dd HH:mm:ss.s"){
current_date = y + '/' + M + '/' + d + ' ' + h + ':' + m + ':' + s + '.' + mi;
}
return current_date;
}
/**
*
* @param obj 具体的日期:yyyy-mm-dd
* @param days 天数 如:2
*/
function addDate(obj,days)
{
var d = new Date(obj);
d.setDate(d.getDate()+days);
var m =d.getMonth()+1;
return d.getFullYear()+"-"+m+"-"+d.getDate();
}
/**
*
* @param obj 具体的日期:yyyy-mm-dd
* @param obj2 具体的日期:yyyy-mm-dd
*/
function retDate(obj,obj2)
{
var d = new Date(obj);
var d2 = new Date(obj2);
d.setFullYear(d.getFullYear()-d2.getFullYear());
return d.getFullYear()
}
/**
*
* @param obj1 具体的日期 yyyy-mm-dd
* @param obj2 具体的日期 yyyy-mm-dd
*/
function compDate(obj,obj1)
{
var flag = false;
var aDate = new Date(Date.parse(obj.replace(/-/g,"/")));
var bDate = new Date(Date.parse(obj1.replace(/-/g,"/")));
if(aDate < bDate)
flag = true;
return flag;
}
/**
* 年度相减 相差xx年
* @param obj1 比较日期 2017-02-28
* @param obj2 生日日期 2010-02-28
*/
function yearsubstract(obj,obj1)
{
var adate = obj.split("-");
var bdate = obj1.split("-");
adate = parseInt(adate[0]);
bdate = parseInt(bdate[0]);
return Math.abs(bdate-adate);
}
/**
* 年度相加
* @param obj1 比较日期 2017-02-28
* @param obj2 生日日期 2010-02-28
*/
function yearsubadd(obj,obj1)
{
var adate = obj.split("-");
var bdate = obj1.split("-");
adate = parseInt(adate[0]);
bdate = parseInt(bdate[0]);
return Math.abs(bdate+adate);
}
/**
* 月份相减 相差xx个月
* @param obj1 具体的日期 yyyy-mm-dd
* @param obj2 具体的日期 yyyy-mm-dd
*/
function monthsubstract(obj,obj1)
{
var adate = obj.split("-");
var bdate = obj1.split("-");
adate = parseInt(adate[0])*12+parseInt(adate[1]);
bdate = parseInt(bdate[0])*12+parseInt(bdate[1]);
return Math.abs(bdate-adate);
}
/**
* 天数相减 相差xx天
* @param obj1 具体的日期 yyyy-mm-dd
* @param obj2 具体的日期 yyyy-mm-dd
*/
function daysubstract(obj,obj1)
{
var adate = new Date(obj.replace(/-/g,"/"));
var bdate = new Date(obj1.replace(/-/g,"/"));
return (bdate.getTime()-adate.getTime())/1000/60/60/24;
}
/**
*
* @param obj1 具体的日期 yyyy-mm-dd
* @param obj2 具体的日期 yyyy-mm-dd
*/
function gfGetCalcPlcYear(fromdate,todate) {
var returnyear;
var fromdate = new Date(fromdate);
var todate = new Date(todate);
var birthYear = fromdate.getFullYear();
var birthMonth = fromdate.getMonth();
var birthDay = fromdate.getDay();
var nowYear = todate.getFullYear();
var nowMonth = todate.getMonth();
var nowDay = todate.getDay();
if (nowYear == birthYear) {
returnyear = 0;//同年 则为0岁
} else {
var ageDiff = nowYear - birthYear; //年之差
if (ageDiff > 0) {
if (nowMonth == birthMonth) {
var dayDiff = nowDay - birthDay;//日之差
if (dayDiff < 0) {
returnyear = ageDiff - 1;
} else {
returnyear = ageDiff;
}
} else {
var monthDiff = nowMonth - birthMonth;//月之差
if (monthDiff < 0) {
returnyear = ageDiff - 1;
} else {
returnyear = ageDiff;
}
}
} else {
returnyear = -1;//返回-1 表示出生日期输入错误 晚于今天
}
}
return returnyear;//返回周岁年龄
}
function calcage(fromdate,todate){
var returnyear;
var fromarry = fromdate.split("-");
var toarry = todate.split("-");
var birthYear = parseInt(fromarry[0]);
var birthMonth = parseInt(fromarry[1]);
var birthDay = parseInt(fromarry[2]);
var nowYear = parseInt(toarry[0]);
var nowMonth = parseInt(toarry[1]);
var nowDay = parseInt(toarry[2]);
if (nowYear == birthYear) {
returnyear = 0;//同年 则为0岁
} else {
var ageDiff = nowYear - birthYear; //年之差
if (ageDiff > 0) {
if (nowMonth == birthMonth) {
var dayDiff = nowDay - birthDay;//日之差
if (dayDiff < 0) {
returnyear = ageDiff - 1;
} else {
returnyear = ageDiff;
}
} else {
var monthDiff = nowMonth - birthMonth;//月之差
if (monthDiff < 0) {
returnyear = ageDiff - 1;
} else {
returnyear = ageDiff;
}
}
} else {
returnyear = -1;//返回-1 表示出生日期输入错误 晚于今天
}
}
return returnyear;//返回周岁年龄
}
//日期date 加年数 year
function IncYear(tdate, year){
var nowdate = new Date(tdate);
nowdate.setFullYear(nowdate.getFullYear()+year);
nowdate.setDate(nowdate.getDate()-1);
return nowdate;
}
Js之DateFormat工具类的更多相关文章
- vue项目工具文件utils.js javascript常用工具类,javascript常用工具类,util.js
vue项目工具文件utils.js :https://blog.csdn.net/Ajaxguan/article/details/79924249 javascript常用工具类,util.js : ...
- JS实现自定义工具类,隔行换色、复选框全选、隔行高亮等
很多功能都可以放在js的工具类中,在使用的时候直接调用 本次实现的功能包括: /** 0.当点击表的整行的任意位置时,第一列的复选框或者单选框均选中 1.隔行换色 2.复选框的全选效果 3.实现表格 ...
- js格式化日期工具类
就是一个工具类 开箱即用 传进一个指定的参数,格式化 //将时间戳格式化 function getMyDate(time){ if(typeof(time)=="undefined&quo ...
- DateFormat工具类
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java. ...
- 第三章 线程安全的DateFormat工具类
1.使用threadLocal包装DateFormat(太复杂,不推荐) 2.使用org.apache.commons.lang3.time.DateFormatUtils下的方法(推荐) DateF ...
- js的一些工具类
//写入cookie function setCookie(name, value) { var Days = 30; //此 cookie 将被保存 30 天 var exp = n ...
- js 实现 map 工具类
/* * MAP对象,实现MAP功能 * * 接口: * size() 获取MAP元素个数 * isEmpty() 判断MAP是否为空 * clear() 删除MAP所有元素 * put(key, v ...
- 第一章 Java工具类目录
在这一系列博客中,主要是记录在实际开发中会常用的一些Java工具类,方便后续开发中使用. 以下的目录会随着后边具体工具类的添加而改变. 浮点数精确计算 第二章 Java浮点数精确计算 crc32将任意 ...
- js常用工具类.
一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...
随机推荐
- ssm框架的小总结
一.mybatis框架 mybatis框架主要就是完成持久层的实现,简化了持久层的开发, 1.首先是配置文件的编写,我们这里就命名为mybatis-config.xml,先配置文件头,然后加载连接数据 ...
- 2019牛客暑期多校训练营(第七场)-H Pair(数位dp)
题目链接:https://ac.nowcoder.com/acm/contest/887/H 题意:给定A,B,C,求有多少对(x,y)满足x&y>C或者x^y<C,其中1< ...
- [转帖]SSH原理与运用(一):远程登录
http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html 写的很好.. 自己才简单明白了一点东西.. SSH是每一台Linux电脑的标准 ...
- python的异常处理机制
异常机制己经成为衡量一门编程语言是否成熟的标准之一,使用异常处理机制的 Python 程序有更好的容错性,更加健壮. 对于计算机程序而言,情况就更复杂了一一没有人能保证自己写的程序永远不会出辛苦!就算 ...
- Python 常用单词
Python常用单词(英文好的人自动忽略) 单词 发音 翻译 作用 print 普润特 打印 显示我们想要查看的内容 input 因普特 输入 获取用户输入的一些内容 int 印特 整型 将有引号的数 ...
- Docker-PS命令解析
查看 docker 容器,必然要用到 docker ps 命令.其基本格式为: docker ps [OPTIONS] 关键在于 OPTIONS(选项): 1 常见用法 1. 最常见的用法 $ doc ...
- 数值优化(Numerical Optimization)学习系列-无梯度优化(Derivative-Free Optimization)
数值优化(Numerical Optimization)学习系列-无梯度优化(Derivative-Free Optimization) 2015年12月27日 18:51:19 下一步 阅读数 43 ...
- date和time
time和date两个函数在Lua中实现所有的时钟查询功能.函数time在没有参数时返回当前时钟的数值. t=os.date()print(t) 05/07/19 16:49:18 --------- ...
- C#发送Outlook邮件(仅SMTP版本)
先表明Outlook的参数:网址:https://support.office.com/zh-cn/article/Outlook-com-%E7%9A%84-POP%E3%80%81IMAP-%E5 ...
- 如何从git上批量拉取本地当前分支的所有代码
1 我本地有一个文件_netrc文件里面存储这git的相关信息,包括用户名和密码 你可以根据自己的git相关信息配置自己的信息 2 我当前的分支是dev,我要拉取当前分支下的所有代码,编写shell脚 ...