javascript时间处理

1:js的时间处理存在的陷阱:

需要考虑数据库时间存储的时区,js解析时间时的时区考虑。(考虑两者时区是否一致,否则时间会多或会少相对时区的小时);

数据库的时间存储,时区可以设置,一般是本地时区;

js解析时间时,一般按照本地时区解析。

function dataformat(date,type){
	if(date=="" || date==null || date=="null"){
		return "";
	}
	//new Date()时,需要考虑时区。先看下参数date的时区是否和js解析的时区一致,时区如果不一致,new Date()时格式化下时区
	var objD=new Date(date);
	var str;
	var yy = objD.getYear();
	if(yy<1900) yy = yy+1900;
	var MM = objD.getMonth()+1;
	if(MM<10) MM = '0' + MM;
	var dd = objD.getDate();
	if(dd<10) dd = '0' + dd;
	var hh = objD.getHours();
	if(hh<10) hh = '0' + hh;
	var mm = objD.getMinutes();
	if(mm<10) mm = '0' + mm;
	var ss = objD.getSeconds();
	if(ss<10) ss = '0' + ss;
		
	if(type=="day"){
		str = yy + "-" + MM + "-" + dd;
	}else if(type=="seconds"){
		str = yy + "-" + MM + "-" + dd + " " + hh + ":" + mm + ":" + ss;
	}
	return(str);
}

考虑时区处理的程序:

//js 时间处理需要考虑时区的问题。数据库和js两者存在时区问题(UTC+0800和CST)
//js的命名空间
var NewsInfor = NewsInfor || {};
NewsInfor.manage={
	//时间格式化
	dataformat:(function(strDate,type){			
		if(strDate=="" || strDate==null || strDate=="null"){
			return "";
		}			
		var dateStr=strDate.trim().split(" ");
		//时区的处理
		var strGMT = dateStr[0]+" "+dateStr[1]+" "+dateStr[2]+" "+dateStr[5]+" "+dateStr[3]+" GMT+0800";
		var date = new Date(Date.parse(strGMT));
		var y = date.getFullYear();
		var m = date.getMonth() + 1;  
		m = m < 10 ? ('0' + m) : m;
		var d = date.getDate();  
		d = d < 10 ? ('0' + d) : d;
		var h = date.getHours();
		var minute = date.getMinutes();  
		minute = minute < 10 ? ('0' + minute) : minute;
		var second = date.getSeconds();
		second = second < 10 ? ('0' + second) : second;							
		if(type=="year"){
			str = y;
		}else if(type=="month"){
			str = m+"-"+d;
		}
		return(str);
	}),
}




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值