/**
* 对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工具类的更多相关文章

  1. vue项目工具文件utils.js javascript常用工具类,javascript常用工具类,util.js

    vue项目工具文件utils.js :https://blog.csdn.net/Ajaxguan/article/details/79924249 javascript常用工具类,util.js : ...

  2. JS实现自定义工具类,隔行换色、复选框全选、隔行高亮等

    很多功能都可以放在js的工具类中,在使用的时候直接调用 本次实现的功能包括: /** 0.当点击表的整行的任意位置时,第一列的复选框或者单选框均选中  1.隔行换色 2.复选框的全选效果 3.实现表格 ...

  3. js格式化日期工具类

    就是一个工具类  开箱即用 传进一个指定的参数,格式化 //将时间戳格式化 function getMyDate(time){ if(typeof(time)=="undefined&quo ...

  4. DateFormat工具类

    import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java. ...

  5. 第三章 线程安全的DateFormat工具类

    1.使用threadLocal包装DateFormat(太复杂,不推荐) 2.使用org.apache.commons.lang3.time.DateFormatUtils下的方法(推荐) DateF ...

  6. js的一些工具类

    //写入cookie function setCookie(name, value) {     var Days = 30; //此 cookie 将被保存 30 天     var exp = n ...

  7. js 实现 map 工具类

    /* * MAP对象,实现MAP功能 * * 接口: * size() 获取MAP元素个数 * isEmpty() 判断MAP是否为空 * clear() 删除MAP所有元素 * put(key, v ...

  8. 第一章 Java工具类目录

    在这一系列博客中,主要是记录在实际开发中会常用的一些Java工具类,方便后续开发中使用. 以下的目录会随着后边具体工具类的添加而改变. 浮点数精确计算 第二章 Java浮点数精确计算 crc32将任意 ...

  9. js常用工具类.

    一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...

随机推荐

  1. vsftpd下载文件时内容乱码

    windows客户端访问Linux服务端的ftp并下载文档时,内容会出现乱码,这是由于vsftpd文件服务器不支持转码功能 通过java FTPClient下载 方法为 OutputStream is ...

  2. VUe兄弟通信

    用过Vue,你肯定知道,Vue组件之间的通信常见的有$dispatch - 通过冒泡的方式传递事件$broadcast - 通过广播的方式向子孙组件传递事件 如果组件之间的关系只是父-子关系,那么di ...

  3. [转帖]Grafana背后的Nginx和Apache Proxy

    Grafana背后的Nginx和Apache Proxy https://ywnz.com/linuxyffq/5590.html 这个网站貌似非常非常好 在本文中,我将向你展示如何在Nginx和Ap ...

  4. sql server凭据

    转自:https://blog.csdn.net/kk185800961/article/details/52469170 凭据是包含连接到 SQL Server 外部资源所需的身份验证信息(凭据)的 ...

  5. Springboot使用javaMail进行邮件发送

    导入相关依赖 <!--邮件发送--> <dependency> <groupId>javax.mail</groupId> <artifactId ...

  6. Array Product CodeForces - 1042C (细节)

    #include <iostream> #include <sstream> #include <algorithm> #include <cstdio> ...

  7. Java list的实现类

    Java list的实现类 本文是根据博文整理 Java中,List接口一共有三个实现类:ArrayList.Vector和LinkedList. 其中ArrayList和Vector都是利用数组这一 ...

  8. Java Jersey的详情概述

    Jersey是一个RESTFUL请求服务JAVA框架,与常规的JAVA编程使用的struts框架类似,它主要用于处理业务逻辑层. 与springmvc 的区别: 1. jersey同样提供DI,是由g ...

  9. 小程序setData方法使用总结

    做了一下小程序setData使用方法总结,如有错误,请不吝指出,Thanks♪(・ω・)ノ  //示例data: data:{ user:'young', obj:{ name:'蓝色蒲公英', ag ...

  10. 云端js动态效果

    效果图: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...