zoukankan      html  css  js  c++  java
  • 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型转换为String 

    //传来的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型转换为String 

    //传来的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  

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

    getTime()方法教程:http://www.w3school.com.cn/js/jsref_getTime.asp

  • 相关阅读:
    Android监听ScrollView滑动到顶端和底部
    Error generating final archive: Unable to get debug signature key
    Android Service 通知Activity更新界面的方法研究
    android Service 的简单使用(转)
    GPS坐标转换为百度地图坐标
    GPS坐标换算为百度坐标(转)
    Android 实现在Activity中操作刷新另外一个Activity数据列表
    android textview 显示一行,且超出自动截断,显示"..."
    Android中界面实现全屏显示的两种方式
    kill命令详解
  • 原文地址:https://www.cnblogs.com/theseven/p/5038961.html
Copyright © 2011-2022 走看看