utc2beijing(utc_datetime) {
// 转为正常的时间格式 年-月-日 时:分:秒
var T_pos = utc_datetime.indexOf('T');
var Z_pos = utc_datetime.indexOf('Z');
var year_month_day = utc_datetime.substr(0,T_pos);
var hour_minute_second = utc_datetime.substr(T_pos+1,Z_pos-T_pos-1);
var new_datetime = year_month_day+" "+hour_minute_second; // 2017-03-31 08:02:06
// 处理成为时间戳
timestamp = new Date(Date.parse(new_datetime));
timestamp = timestamp.getTime();
timestamp = timestamp/1000;
// 增加8个小时,北京时间比utc时间多八个时区
var timestamp = timestamp+8*60*60;
// 时间戳转为时间
var beijing_datetime = new Date(parseInt(timestamp) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");
return beijing_datetime; // 2017-03-31 16:02:06
}
添加月份
// 第一种
function addMoth(d,m){
var ds=d.split('-'),_d=ds[2]-0;
var nextM=new Date( ds[0],ds[1]-1+m+1, 0 );
var max=nextM.getDate();
d=new Date( ds[0],ds[1]-1+m,_d>max? max:_d );
return d.toLocaleDateString().match(/\d+/g).join('-')
}
alert( addMoth('2013-07-31 ',7) )
//第二种
/**
* 当前日期增加n月
* @param dateStr 当前日期
* @param num 月
* @param type 0:2022-05-30 1:2022-05-30 11:11:11
* @returns {string}
*/
function commonAddMouth(dateStr,num,type) {
var monthnum = 0;
if (typeof (num) == "string"){
monthnum = parseInt(num);
}else{
monthnum = num;
}
var date= new Date(dateStr);
//获取原日
var day = date.getDate();
//获取原月份
var month=date.getMonth();
//设置增加月份
date.setMonth(date.getMonth() + (monthnum*1), 1);
//获取增加的后的月份
var Jmonth = date.getMonth()+1;
//获取增加的后的年份
var Jyear=date.getFullYear();
if(Jmonth == 4 || Jmonth == 6 || Jmonth == 9 || Jmonth == 11) {
//小月
if (day > 30) {
day = 30;
}
}else if (Jmonth == 2) {
//2月判断是否闰年
if(((Jyear % 4) == 0) && ((Jyear % 100) != 0) || ((Jyear % 400) == 0)){
if (day > 29) {
day = 29;
} else {
day = 28;
}
}
if (day > 28) {
day = 28
}
}else{
//大月
if (day > 31) {
day = 31;
}
}
var tHours = date.getHours();
var tMinutes = date.getMinutes();
var tSeconds = date.getSeconds();
Jmonth = doHandleMonth(Jmonth);
day = doHandleMonth(day);
if(type=="0"){
return Jyear+"-"+Jmonth+"-"+day;
}
return Jyear+"-"+Jmonth+"-"+day+" "+tHours+":"+tMinutes+":"+tSeconds;
}
/**
* 日或月补0
* @param month
* @returns {string}
*/
function doHandleMonth(month){
var m = month;
if(month.toString().length == 1){
m = "0" + month;
}
return m;
}