js时间格式转换

 

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

function date(){

    var date = new Date();

    alert(date);

}

结果是:Mon Jun 15 15:30:46 UTC+0800 2009

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

 

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

function date(){

     var date = new Date();

 

     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:50 UTC+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 2009 11:05:05 GMT+0800格式  得到结果:2009-06-12 17:18:05

function dateToStr(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 2009 11:05:05 GMT+0800格式得到结果:09年06月12日 17时18分

function dateToComm(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分 var time={time1:time1,time2:time2}    //json格式 // alert(time); return time; }

 

 

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

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

function date(){

   var date = new Date();

   var dateNum date.getTime();

   alert(dateNum);

}

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

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

 

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

function date(){

   var date = new Date();

   var oneDate = 1

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

   var dateBefore = new Date(dateMid);

   alert(dateBefore);

}

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

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

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

posted @   易独  阅读(621)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
乐巴儿 一个有声音的公众号
长按,识别二维码,加关注
点击右上角即可分享
微信分享提示