js时间格式转换

来源:互联网 发布:航道大数据分析方案 编辑:程序博客网 时间:2024/05/02 03:04
js时间格式转换
2010-05-27 13:46

在javascript中直接输出Date得到的结果是这样的:

function date(){

 var date = newDate();

 alert(date);

}

结果是:Mon Jun 15 15:30:46 UTC+08002009

这可能不是我们所需要的,因此是需要转换下的,这里就学下我转换的几种方法,不妥之处请指教:

1、得到newDate()型中各个时间级别(年、月、日、时、分、秒)的数:

function date(){

 var date = newDate();

 var year =date.getFullYear();
 var month =date.getMonth()+1; //js从0开始取 
 var date1 =date.getDate(); 
 var hour =date.getHours(); 
 var minutes =date.getMinutes(); 
 var second =date.getSeconds();

 alert(date+" "+year+"年"+month+"月"+date1+"日"+hour+"时"+minutes +"分"+second+"秒");

}

得到的结果就是:Mon Jun 15 15:44:50UTC+0800 2009 | 2009年6月15日15时44分50秒

注意:date.getMonth()得到的月是从0开始的,date所有的get方法除了date.getFullYear()得到的是2009外,其余的get方法得到的数若小于10,都是以单数出现,如6月,date.getMonth()+1= 6 若要得到两位的自己加上0就可以了,如下面的转换方法。

以下是转换成另两种格式的,和上面是大同小异的:

(1)

//将date型转换为tring

//传来的datetime是:Wed Mar 04 200911:05:05 GMT+0800格式 得到结果:2009-06-1217:18:05

functiondateToStr(datetime){

var year =datetime.getFullYear();
var month = datetime.getMonth()+1;//js从0开始取 
var date =datetime.getDate(); 
var hour =datetime.getHours(); 
var minutes =datetime.getMinutes(); 
var second = datetime.getSeconds();

if(month<10){
 month = "0" + month;
}
if(date<10){
 date = "0" + date;
}
if(hour <10){
 hour = "0" + hour;
}
if(minutes <10){
 minutes = "0" + minutes;
}
if(second <10){
 second = "0" + second ;
}

var time = year+"-"+month+"-"+date+""+hour+":"+minutes+":"+second; //2009-06-12 17:18:05
// alert(time);
return time;
}

(2)

//将date型转换为tring

//传来的datetime是:Wed Mar 04 200911:05:05 GMT+0800格式得到结果:09年06月12日 17时18分

functiondateToComm(datetime){

var year =datetime.getFullYear();
var month = datetime.getMonth()+1;//js从0开始取 
var date =datetime.getDate(); 
var hour =datetime.getHours(); 
var minutes =datetime.getMinutes(); 
var second = datetime.getSeconds();

if(month<10){
 month = "0" + month;
}
if(date<10){
 date = "0" + date;
}
if(hour <10){
 hour = "0" + hour;
}
if(minutes <10){
 minutes = "0" + minutes;
}
if(second <10){
 second = "0" + second ;
}

year = year.toString();
year = year.substring(2);
var time1 = year+"年"+month+"月"+date+"日";
var time2 = hour+"时"+minutes+"分";//09年06月12日17时18分
vartime={time1:time1,time2:time2} //json格式
// alert(time);
return time; 
}

2、实际应用中经常会遇到加减时间的情况,如:昨天这个时间到今天这个时间间系统共登陆了几次之类的。因此在我们取得当前时间之后就要减去一天或几天。

在此我们现将得到的时间转换下:

function date(){

 vardate = new Date();

 var dateNumdate.getTime();

 alert(dateNum);

}

得到的是:2592000000 这个是距1970 年 1 月 1 日之间的毫秒数。

注:getTime()方法可返回距 1970 年 1 月 1 日之间的毫秒数。

我们以一天为例,得到一天前的此时:

function date(){

 vardate = new Date();

 varoneDate = 1

 vardateMid = date.getTime() - (oneDate * 24 * 60 * 60 * 1000)

 vardateBefore = new Date(dateMid);

 alert(dateBefore);

}

若date 为:Mon Jun 15 15:44:50UTC+0800 2009

则输出:Mon Jun 14 15:44:50 UTC+08002009

要转换为Sreing型 按照上面1的方法转换就可以了。

 

转自http://blog.sina.com.cn/s/blog_5fe080e60100dnij.html

0 0
原创粉丝点击