JS日期處理工具類

2021-06-13 11:02:24 字數 4546 閱讀 2119

/** 

* 此js檔案是格式化js中日期時間的工具類,其中包含了傳入日期物件date,格式化成想要的格式,

* 或者傳入字串格式的時間個,次字串日期對應的格式可以轉換為相應的日期物件,

* 可以計算兩個日期之間的差值

* * y: 表示年

* m:表示一年中的月份 1~12

* d: 表示月份中的天數 1~31

* h:表示一天中的小時數 00~23

* m: 表示小時中的分鐘數 00~59

* s: 表示分鐘中的秒數 00~59

*/

var dateformat = function(bdebug)

dateformat.prototype =

*/

formatcurrentdate: function(strformat)

for(var i in dates)

} return tempformat === strformat? this.curdate.tolocalestring(): tempformat;

}catch(e)

},

/**

* 根據給定的格式,把給定的時間進行格式化

* @params date 要格式化的日期

* @params strformat 要得到的日期的格式的格式化字串,如:'yyyy-mm-dd',預設:yyyy-mm-dd hh:mm:ss

* @return 根據規定格式的時間格式

*

* @updatedate 2011-09-15

*/

format: function(date, strformat)else if(!(date instanceof date))else

return this.formatcurrentdate(strformat);

}catch(e)

},

/**

* 根據給定的格式對給定的字串日期時間進行解析,

* @params strdate 要解析的日期的字串表示,此引數只能是字串形式的日期,否則返回當期系統日期

* @params strformat 解析給定日期的順序, 如果輸入的strdate的格式為方法支援的格式,

* 則可以不傳入,否則一定要傳入與strdate對應的格式, 若不傳入格式則返回當期系統日期。

* @return 返回解析後的date型別的時間

* 若不能解析則返回當前日期

* 若給定為時間格式 則返回的日期為 2023年1月1日的日期

* * bug: 此方法目前只能實現類似'yyyy-mm-dd'格式的日期的轉換,

* 而'yyyymmdd'形式的日期,則不能實現

*/

parsedate: function(strdate, strformat)

var longtime = date.parse(strdate);

if(isnan(longtime))

var tmpdate = new date();

var regformat = /(\w)|(\w)|(\w)/g;

var regdate = /(\d)|(\d)|(\d)/g;

var formats = strformat.match(regformat);

var dates = strdate.match(regdate);

if( formats != undefined && dates != undefined && formats.length == dates.length)else if(format == 'yy')else if(format == 'mm' || format == 'm')else if(format == 'dd' || format == 'd')else if(format == 'hh' || format == 'h')else if(format == 'mm' || format == 'm')else if(format == 'ss' || format == 's')

} return tmpdate;

} return tmpdate;

}else

},

/**

* 根據給定的時間間隔型別及間隔值,以給定的格式對給定的時間進行計算並格式化返回

* @params date 要操作的日期時間可以為時間的字串或者類似的時間物件,

* @params interval 時間間隔型別如:"year"、"month"、 "date", 不區分大小寫

* @params amount 時間間隔值,可以正數和負數, 負數為在date的日期減去相應的數值,正數為在date的日期上加上相應的數值

* @params strformat 當輸入端的date的格式為字串是,此項必須輸入。若date引數為型別是此項會作為最終輸出的格式。

* @params targetformat 最終輸出的日期時間的格式,若沒有輸入則使用strformat或者預設格式'yyyy-mm-dd hh:mm:ss'

* @return 返回計算並格式化後的時間的字串

*/

changedate: function(date, interval, amount, strformat, targetformat)else if(typeof date == 'string')else if(date instanceof date)

var field = (typeof interval == 'string')? interval.touppercase(): 'date';

try

}catch(e)

switch(field)

this.curdate = tmpdate;

return this.formatcurrentdate(targetformat == undefined? strformat: targetformat);

},

/**

* 比較兩個日期的差距

* @param date1 date型別的時間

* @param date2 dete 型別的時間

* @param isformat boolean 是否對得出的時間進行格式化,

* false:返回毫秒數,true:返回格式化後的資料

* @return 返回兩個日期之間的毫秒數 或者是格式化後的結果

*/

compareto: function(date1, date2, isformat)else if(len >= 2)

if(!(tmpdate1 instanceof date) || !(tmpdate2 instanceof date))else;

result['year'] = (date.getfullyear() - 1970) > 0? (date.getfullyear() - 1970): '0';

result['month'] = (date.getmonth() - 1) > 0? (date.getmonth() - 1): '0';

result['day'] = (date.getdate() - 1) > 0? (date.getdate() - 1): '0';

result['hour'] = (date.gethours() - 8) > 0? (date.gethours() - 1): '0';

result['minute'] = date.getminutes() > 0? date.getminutes(): '0';

result['second'] = date.getseconds() > 0? date.getseconds(): '0';

return result;

}else

}else

} }catch(e)

},

/**

* 根據給定的日期得到日期的月,日,時,分和秒的物件

* @params date 給定的日期 date為非date型別, 則獲取當前日期

* @return 有給定日期的月、日、時、分和秒組成的物件

*/

getdateobject: function(date)

return ;

},

/**

*在控制台輸出日誌

*@params message 要輸出的日誌資訊

*/

debug: function(message)

if(!window.console);

window.console.log = function()

} window.console.log(message + ' ');

}catch(e)

} }

日期處理工具類

public class dateutils 日期格式化 日期格式為 yyyy mm dd param date 日期 param pattern 格式,如 dateutils.date time pattern return 返回yyyy mm dd格式日期 public static strin...

Java常用日期處理工具函式類

常用日期處理工具類 public class dateutils 格式化指定時間 param date param pattern return public static string format date date,string pattern 解釋日期 param str param pat...

檔案處理工具類

public class fileutils if environment.media mounted.equals state dir.isdirectory dir.canwrite return false 複製單個檔案 param oldpath param newpath public s...