jsとjavaにおける日付と日付文字列の相互変換と使用

11244 ワード

要旨:仕事中に日付が絡むと、日付の計算フォーマットの変換などの使い方が絡む可能性が高いので、jsやjavaでの日付の使い方を検討してみましょう.
jsにおける日付の使用
jsにおける日付の計算と比較
jsの2つの日付文字列の計算
################### 1 
//             2017-09-10,2017-09-20
//                 
function  dateDiff(start,end){ //start = 2017-09-10,  end = 2017-09-20
    //        
    var arrayDate;//      
    var startDate;
    var endDate;
    var diffCount;//    
    arrayDate = start.split("-");
    startDate = new Date(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);//    - -   ;
    arrayDate = end.split("-");
    endDate = new Date(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);//    - -   ;
    diffCount = parseInt(Math.abs(startDate - endDate)/1000/60/60/24 //                  

    return diffCount;


}

################2
 //                
        function  diff() {
            var start = "2017-09-10";
            var end = "2017-09-20";
            var array , startDate,endDate,count;
            //           
            var str = new Date(start);//           
            //        
            startDate = str.getTime();//         
            endDate = new Date(end).getTime();//         
            count = parseInt(Math.abs(startDate-endDate) /  1000  /  60  /  60  /24)

            return count ;//count = 10;

        }

jsの2つの日付または日付文字列の比較
2つの日付の比較は実はとても簡単ですここで簡単にいくつかの方法を言います:1.2つの日付フォーマットの時間であれば><=で直接比較することができる.まず、2つの日付をミリ秒数に変換し、2つの日付を比較するミリ秒数も目的を達成することができる.2つの日付文字列または一方が日付である一方が文字列である場合、これは前述したように日付文字列を日付フォーマットに変換してからミリ秒数に変換して比較すればよいという最初の方法の比較が双方のフォーマットと同じである上に確立され、2と3がミリ秒数の比較に確立されるのは自分のニーズ次第である.コードはここでは後述しません.の
jsで2つの日付の差を計算し、間隔をループします.
        var start = "2017-02-10";
        var end = "2017-02-20";
        var i = 0;
        for(var i =Date.parse(start);i<Date.parse(end) ; i +=1000*60*60*24){

            //       
            var curDate = new Date(i).format('yyyy-MM-dd');
            alert(curdate);//        
            i++;

        }
        alert("      "+i);



jsで現在の時間を取得し、現在の時間を前または後にn日間後退させる計算
現在の時刻を取得
 //                :    Fri Sep 15 2017 16:38:45 GMT+0800 (      )
 var now = new Date(); //               
 // getDate()              
 // setDate()   0-31           
 var a = now.setDate(new Date().getDate());//           
 //              'yyyy-MM-dd'; 
 var str = now.format("yyyy-MM-dd"); //str =' - - '

現在の時刻の7日前の日付を取得
//       
 var now = new Date(); //      
 now.setDate(new Date().getDate());//       

 //                2017-09-21        2017-09-14
 var date = now.setDate(now.getDate() - 7);//                        
 //format              
 alert(date.format("yyyy-MM-dd")); 

//               !

JAvaにおける日付の使用
JAva日付回転文字列
最も一般的な方法1.変換クラスSimpleDateFormatを作成し、変換に変換するフォーマット2を設定します.変換する日付3を取得します.SimpleDateFormatのformatメソッドを使用して変換
コードは次のとおりです.
public static void main(String[] args){
   //                                    
   SimpleDateFormat  sm = new SimpleDateFormat("yyyy-MM-dd");
   //                       format     
   String result = sm.format(new Date());
   //        
   System.out.println("   :"+result);

}

JAvaにおける文字列の回転日
文字列の回転日と日付の回転文字列の実際の差は多くないコードは以下の通りである:20170802を日付フォーマットに変換して2017-08-02フォーマットの文字列出力に変換する;
public static void main(String[] args){
        String str = '20170802';//       
        //             str      yyyyMMdd         
        SimpleDateFormat sm = new SimpleDateFormat("yyyyMMdd");
        //    
        Date date = sm.parse(str);//        

        SimpleDateFormat ss = new SimpleDateFormat("yyyy-MM-dd");
        String formatTime = ss.format(date);
        System.out.println("  "+formatTime);
}

JAva 2つの日付文字列の差分日数とループ出力の差分日時
計算「2017-07-02」から「2017-07-10」まで、何日かを直接調べ、出力が異なる時間を循環した.コードは次のとおりです.
public static void main(String[] args){

    //                       
    Calander cal = Calander.getInstance();//     
    cal.set(2017,07,02);//      
    Long startTime = cal.getTimeinMillis();//          
    cal.set(2017,07,10);//       
    Long endTime = cal.getTimeinMillis();
    Long dayTime = 1000*60*60*24;//      ;
    Long time = startTime;//      ;
    int diffDay = 0;
    //  
    while(time < endTime){
        diffDay++;
        time +=dayTime;
        SimpleDateFormat sm = new SimpleDateFormat("yyyy-MM-dd");
        String result = sm.format(time);
        System.out.println(result);

    }
    System.out.println("        "+diffDay);


}