Js之DateFormat工具類

2021-09-22 09:22:41 字數 2803 閱讀 1615

/**

* 對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)else

if(type=="yyyy-mm-dd hh:mm:ss")

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)

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")else

if(type=="yyyy-mm-dd hh:mm:ss")else

if(type=="yyyy-mm-dd hh:mm:ss.s")else

if(type=="yyyy/mm/dd")else

if(type=="yyyy/mm/dd hh:mm:ss")else

if(type=="yyyy/mm/dd hh:mm:ss.s")

return current_date;

}/**

* * @param obj 具體的日期:yyyy-mm-dd

* @param days 天數 如:2

*/function adddate(obj,days)

/***

* @param obj 具體的日期:yyyy-mm-dd

* @param obj2 具體的日期:yyyy-mm-dd

*/function retdate(obj,obj2)

/***

* @param obj1 具體的日期 yyyy-mm-dd

* @param obj2 具體的日期 yyyy-mm-dd

*/function compdate(obj,obj1)

/*** 年度相減 相差xx年

* @param obj1 比較日期 2017-02-28

* @param obj2 生日日期 2010-02-28

*/function yearsubstract(obj,obj1)

/** * 年度相加

* @param obj1 比較日期 2017-02-28

* @param obj2 生日日期 2010-02-28

*/function yearsubadd(obj,obj1)

/*** 月份相減 相差xx個月

* @param obj1 具體的日期 yyyy-mm-dd

* @param obj2 具體的日期 yyyy-mm-dd

*/function monthsubstract(obj,obj1)

/*** 天數相減 相差xx天

* @param obj1 具體的日期 yyyy-mm-dd

* @param obj2 具體的日期 yyyy-mm-dd

*/function daysubstract(obj,obj1)

/***

* @param obj1 具體的日期 yyyy-mm-dd

* @param obj2 具體的日期 yyyy-mm-dd

*/function gfgetcalcplcyear(fromdate,todate) else else

} else else

}} else

}return returnyear;//返回周歲年齡

}function calcage(fromdate,todate) else else

} else else

}} else

}return returnyear;//返回周歲年齡

}//日期date 加年數 year

function incyear(tdate, year)

DateFormat工具類存在併發問題

也是今天踩了乙個坑才去了解到的。併發問題主要是在format 和parse 兩個方法中,因為這兩個方法中會去呼叫calendar.settime 如果dateformat物件被靜態全域性變數引用,calendar就乙個,併發下的settime當然會有問題。我們常用的 dateformat是datef...

JS高階Date format 日期格式化

對date的擴充套件,將 date 轉化為指定格式的string 月 m 日 d 小時 h 分 m 秒 s 季度 q 可以用 1 2 個佔位符,年 y 可以用 1 4 個佔位符,毫秒 s 只能用 1 個佔位符 是 1 3 位的數字 例子 new date format yyyy mm dd hh m...

JS工具函式

param str 傳入字串 param len 字元總長度 function leftzero str,len function formatcommas val val val split return val 0 replace d d d g,1,val.length 1?val 1 將 d...