這裏,笨小蔥分享一個在工作中用到得js,對date類型變量的一些操作函數。包括:
1.將Date轉化爲指定格式的String
2.計算出當前時間的前7天,15天的日期
3.計算出前1個月,3個月的日期
// 對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:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"H+": this.getHours(), //小時
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
function getStopDate(){
var now = new Date();
var year = now.getFullYear(); //年
var month = now.getMonth() + 1; //月
var day = now.getDate(); //日
var clock = year + "-";
if(month < 10){
clock += "0";
}
clock += month + "-";
if(day < 10){
clock += "0";
}
clock += day;
return(clock);
}
function getStartDate(){
//7天的毫秒數 加7天
var interval = 6*24*60*60*1000;
var now = new Date();
now.setTime(now.getTime()-interval);
var year = now.getFullYear(); //年
var month = now.getMonth() + 1; //月
var day = now.getDate(); //日
var clock = year + "-";
if(month < 10){
clock += "0";
}
clock += month + "-";
if(day < 10){
clock += "0";
}
clock += day;
return(clock);
}
function get24HoursData(){
var interval = 1*24*60*60*1000;
var now = new Date();
now.setTime(now.getTime()-interval);
var year = now.getFullYear(); //年
var month = now.getMonth() + 1; //月
var day = now.getDate(); //日
var clock = year + "-";
if(month < 10){
clock += "0";
}
clock += month + "-";
if(day < 10){
clock += "0";
}
clock += day;
return(clock);
}
function getNext1DayDate(){
var interval = 1*24*60*60*1000;
var now = new Date();
now.setTime(now.getTime()+interval);
var year = now.getFullYear(); //年
var month = now.getMonth() + 1; //月
var day = now.getDate(); //日
var clock = year + "-";
if(month < 10){
clock += "0";
}
clock += month + "-";
if(day < 10){
clock += "0";
}
clock += day;
return(clock);
}
function getLast1MonthDate(){
var now = new Date();
now.setMonth(now.getMonth() - 1);
var year = now.getFullYear(); //年
var month = now.getMonth() + 1; //月
var day = now.getDate(); //日
var clock = year + "-";
if(month < 10){
clock += "0";
}
clock += month + "-";
if(day < 10){
clock += "0";
}
clock += day;
return(clock);
}
function getLast3MonthDate(){
var now = new Date();
now.setMonth(now.getMonth() - 3);
var year = now.getFullYear(); //年
var month = now.getMonth() + 1; //月
var day = now.getDate(); //日
var clock = year + "-";
if(month < 10){
clock += "0";
}
clock += month + "-";
if(day < 10){
clock += "0";
}
clock += day;
return(clock);
}
function getLast6MonthDate(){
var now = new Date();
now.setMonth(now.getMonth() - 6);
var year = now.getFullYear(); //年
var month = now.getMonth() + 1; //月
var day = now.getDate(); //日
var clock = year + "-";
if(month < 10){
clock += "0";
}
clock += month + "-";
if(day < 10){
clock += "0";
}
clock += day;
return(clock);
}
function getCurrentDate(){
var now = new Date();
var year = now.getFullYear(); //年
var month = now.getMonth() + 1; //月
var day = now.getDate(); //日
var clock = year + "-";
if(month < 10){
clock += "0";
}
clock += month + "-";
if(day < 10){
clock += "0";
}
clock += day;
return(clock);
}
function getLast1WeekDate(){
//7天的毫秒數 加7天
var interval = 6*24*60*60*1000;
var now = new Date();
now.setTime(now.getTime()-interval);
var year = now.getFullYear(); //年
var month = now.getMonth() + 1; //月
var day = now.getDate(); //日
var clock = year + "-";
if(month < 10){
clock += "0";
}
clock += month + "-";
if(day < 10){
clock += "0";
}
clock += day;
return(clock);
}
function getLast2WeekDate(){
//14天的毫秒數 加14天
var interval = 13*24*60*60*1000;
var now = new Date();
now.setTime(now.getTime()-interval);
var year = now.getFullYear(); //年
var month = now.getMonth() + 1; //月
var day = now.getDate(); //日
var clock = year + "-";
if(month < 10){
clock += "0";
}
clock += month + "-";
if(day < 10){
clock += "0";
}
clock += day;
return(clock);
}
function getLast15DayDate(){
//14天的毫秒數 加14天
var interval = 14*24*60*60*1000;
var now = new Date();
now.setTime(now.getTime()-interval);
var year = now.getFullYear(); //年
var month = now.getMonth() + 1; //月
var day = now.getDate(); //日
var clock = year + "-";
if(month < 10){
clock += "0";
}
clock += month + "-";
if(day < 10){
clock += "0";
}
clock += day;
return(clock);
}
function getLast1DayData(){
var interval = 1*24*60*60*1000;
var now = new Date();
now.setTime(now.getTime()-interval);
var year = now.getFullYear(); //年
var month = now.getMonth() + 1; //月
var day = now.getDate(); //日
var clock = year + "-";
if(month < 10){
clock += "0";
}
clock += month + "-";
if(day < 10){
clock += "0";
}
clock += day;
return(clock);
}
function getLast2DayData(){
var interval = 2*24*60*60*1000;
var now = new Date();
now.setTime(now.getTime()-interval);
var year = now.getFullYear(); //年
var month = now.getMonth() + 1; //月
var day = now.getDate(); //日
var clock = year + "-";
if(month < 10){
clock += "0";
}
clock += month + "-";
if(day < 10){
clock += "0";
}
clock += day;
return(clock);
}
function comparedate(a, b) {
var arr = a.split("-");
var starttime = new Date(arr[0], arr[1], arr[2]);
var starttimes = starttime.getTime();
var arrs = b.split("-");
var lktime = new Date(arrs[0], arrs[1], arrs[2]);
var lktimes = lktime.getTime();
if (starttimes > lktimes) {
//alert('開始時間大於離開時間,請檢查');
return false;
}
else
return true;
}