天天看點

使用js轉換Date日期格式

var myDate = new Date();
myDate.getYear(); //擷取目前年份(2位)
myDate.getFullYear(); //擷取完整的年份(4位,1970-????)
myDate.getMonth(); //擷取目前月份(0-11,0代表1月)         // 是以擷取目前月份是myDate.getMonth()+1; 
myDate.getDate(); //擷取目前日(1-31)
myDate.getDay(); //擷取目前星期X(0-6,0代表星期天)
myDate.getTime(); //擷取目前時間(從1970.1.1開始的毫秒數)
myDate.getHours(); //擷取目前小時數(0-23)
myDate.getMinutes(); //擷取目前分鐘數(0-59)
myDate.getSeconds(); //擷取目前秒數(0-59)
myDate.getMilliseconds(); //擷取目前毫秒數(0-999)
myDate.toLocaleDateString(); //擷取目前日期
var mytime=myDate.toLocaleTimeString(); //擷取目前時間
myDate.toLocaleString( ); //擷取日期與時間
 
==========================================================================
 
JS擷取目前時間戳的方法-JavaScript 擷取目前毫秒時間戳有以下三種方法:
 
var timestamp =Date.parse(new Date());    結果:1280977330000       //不推薦; 毫秒改成了000顯示
 
var timestamp =(new Date()).valueOf();       結果:1280977330748       //推薦; 
 
var timestamp=new Date().getTime();         結果:1280977330748        //推薦; 
 
 
 
js中單獨調用new Date();  顯示這種格式  Mar 31 10:10:43 UTC+0800 2012
 
但是用new Date() 參與計算會自動轉換為從1970.1.1開始的毫秒數
 
--------------------------------------------------------------------------------------------------
 
将字元串形式的日期轉換成日期對象
 
var strTime="2011-04-16";    //字元串日期格式           
var date= new Date(Date.parse(strTime.replace(/-/g,  "/")));      //轉換成Data();
 
--------------------------------------------------------------------------------------------------
 
new Date() ;     //參數可以為整數; 也可以為字元串; 但格式必須正确
 
new Date(2009,1,1);       //正确
 
new Date("2009/1/1");    //正确
 
new Date("2009-1-1");    //錯誤
 
new Date( year, month, date, hrs, min, sec)  按給定的參數建立一日期對象
  參數說明:
  year的值為:需設定的年份-1900。例如需設定的年份是1997則year的值應為97,即1997-1900的結果。是以Date中可設定的年份最小為1900;
  month的值域為0~11,0代表1月,11表代表12月;
  date的值域在1~31之間;
  hrs的值域在0~23之間。從午夜到次日淩晨1點間hrs=0,從中午到下午1點間hrs=12;
  min和sec的值域在0~59之間。
  例 Date day=new Date(11,3,4);
  //day中的時間為:04-Apr-11 12:00:00 AM
 
 
   另外,還可以給出不正确的參數。
  例 設定時間為1910年2月30日,它将被解釋成3月2日。
  Date day=new Date(10,1,30,10,12,34);
  System.out.println("Day's date is:"+day);
  //列印結果為:Day's date is:Web Mar 02 10:13:34 GMT+08:00 1910
--------------------------------------------------------------------------------------------------
           

有時候做項目會用到js的date日期格式,因為Date()傳回的格式不是我們需要的,

Date()傳回格式:

Thu Mar 19 2015 12:00:00 GMT+0800 (中國标準時間)

而我們則需要這樣的格式:

2015-3-19 12:00:00

那如何用js格式化date日期值呢?

1.日期格式轉為日期标準字元串:2015-03-19

var formatDate = function (date) {  
    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;  
    return y + '-' + m + '-' + d;  
};  
           

2.js方法傳回值:2015-03-19 12:00:00

var formatDateTime = function (date) {
    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();
    h=h < 10 ? ('0' + h) : h;
    var minute = date.getMinutes();
    minute = minute < 10 ? ('0' + minute) : minute;
    var second=date.getSeconds();
    second=second < 10 ? ('0' + second) : second;
    return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;
  };
           

JS中字元轉日期

var remindTime = "2008-04-02 10:08:44"; 
new Date(remindTime )
//直接new Date(remindTime ) 即可。
           

判斷時間間隔不超過24個小時

String tt="2015-11-25 18:18:18 - 2015-11-26 12:09:27";  
String start=tt.substring(0,19);  
String end=tt.substring(22,tt.length());  
 
 var startTime=$("#searchDateRange").val().substring(0,19).replace(/-/g, '/');
        var endTime=$("#searchDateRange").val().substring(22,41).replace(/-/g, '/');
        var date1=new Date(startTime);  //開始時間
        var date2=new Date(endTime);    //結束時間
 
        var date3=date2.getTime()-date1.getTime()  //時間差的毫秒數
        if(date3>60*60*24*1000){
          alert("開始時間與結束時間間隔大于24小時!");
          return false;
        }
           

繼續閱讀