这里,笨小葱分享一个在工作中用到得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;
}