javascript时间处理

来源:互联网 发布:屏蔽usb接口软件 编辑:程序博客网 时间:2024/06/15 04:33

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);}),}




原创粉丝点击