[자바] 날짜 및 시간 스탬프 변환

타임 스탬프 차례 날짜

공공  정적  무효 메인 (문자열 []에 args) {
     // 10 비트 번째 레벨 타임 스탬프 
     TIME1 = 1,527,767,665 ; 
    문자열 결과 1 = 새로운 새 . 포맷 (( ": mm SS MM-DD-YYYY의 HH")로하여 SimpleDateFormat는 새로운 새 날짜 (TIME1 * 1000 )) 
    에서 System.out.println ( "초 10 비트의 타임 스탬프 () ---> 날짜"+ 결과 1) 
    날짜의 날짜 1은 = 새로운 새 날짜 (TIME1 * 1000);    // 해당 인 날짜에 대응하는 타임 스탬프
     // 13 번째 레벨 비트 소인 인 
    더블 TIME2 = 1515730332000d; 
    문자열 result2 = 새로운 새 SimpleDateFormat의을 (이하 "MM-DD-YYYY의 HH : MM : SS") .format (TIME2) 
    에서 System.out.println ( + "---> 날짜 13 밀리 초에 시간의 비트 수 (IS)" result2) 
} 

초 10 비트의 타임 스탬프 () ---> 날짜 : 2018- 05- 31는 19. 54 : 25
(밀리 초) 13 자리 소인 ---> 날짜 : 2018- 01- (12)는 12 : 12이다 : 12 인

당신이 그렇지 않으면 잘못된 결과를 얻을 것이다, 시간 1을 정의하기 위해 INT 변수를 사용할 수 없습니다 타임 스탬프의 두 번째 수준의 10 대에 특히주의 :

공공  정적  무효 메인 (문자열 []에 args) {
     // 10 비트의 타임 스탬프가 두 번째 레벨    
    값 int TIME1 = 1,527,767,665;    // 에러 접근 
    문자열 = 결과 1 새로운 새 SimpleDateFormat의 (이하 "MM-DD-YYYY의 HH : MM : SS"). 포맷 ( 새로운 새 날짜 (TIME1 * 1000 )) 
    에서 System.out.println ( "() 초 10 비트 타임 스탬프 ---> 날짜"+ 결과 1) 
} 

타임 스탬프 (S)의 10 비트 - -> 날짜 : 1969년 12월 17일 23시 21분 47초

날짜 차례의 타임 스탬프

공공  정적  무효 메인 (문자열 [] 인수는) {
     // 특정 시간 스탬프가 설명은 두 번째 레벨 (10) 각인 부여 1000으로 나누어지기 
     시간 = ( 새로운 새 SimpleDateFormat의 (이하 "MM-DD-YYYY HH를 : mm :. SS ")) 구문 분석 ("2018년 6월 30일 20시 0분 0초 " 새로운 새로운 ParsePosition의 (0))을 다음 getTime () / 1000 ; 
 
    // 가져 타임 스탬프 
     하세요! 2 = 에 System.currentTimeMillis ();
      now2 = 새로운 새로운 날짜 ()는 다음 getTime (); 
 
    에서 System.out.println ( "지정된 시간 스탬프 가져 오기 :"+ 시간) 
    에서 System.out.println을 ( "현재 타임 스탬프 :"+ 하세요! 2); 
    System.out에 .println ( "현재 시간 스탬프"+ now2);
} 

지정된 타임 스탬프를 가져옵니다 :1530360000 
현재 타임 스탬프 : 1527769494340 
현재 타임 스탬프 : 1527769494340

날짜 형식

공공  정적  무효 메인 (문자열 []에 args) {
     // 다음과 같은 일반적인-LANG 패키지 DateFormatUtils 클래스 사용하여 
    문자열 포맷 1 = DateFormatUtils.format ( 새 새 날짜를 () "를 MM-DD-YYYY의 HH : MM : SS" );
     // 가장 원시적 인 클래스를 사용하여 SimpleDateFormat 
    문자열 = FORMAT2 새로운 새 SimpleDateFormat의 ( "mm 다음 MM-DD-YYYY의 HH SS ') (. 포맷을 새로운 새 날짜 ()) 
 
    에서 System.out.println ( ". 시간 형식 1 : "+ 포맷 1) ] 
    에서 System.out.println ( "시간 형식 2 :"+ FORMAT2) 
} 

식 1 시간 : 2018년 5월 31일 20시 26분 49초 
포맷 2 시간 : 2018년 5월 31일 20시 26분 49초

DateFormatUtils 프로젝트하지 않는 경우, 받는다는에서 도입, commons.lang3.time.DateFormatUtils을 받고있다 :

<의존성> 
   <의 groupId> org.apache.commons </의 groupId> 
   <artifactId를> 몬즈 lang3 </ artifactId를> 
   <버전> 3.6 </ 버전> 
</ 의존성>

날짜 및 시간의 지정된 길이에

예를 들어, 시간은 지금 시간에 플러스 (12),이 요구는 예를 들어, 그때 내가 직접, 전면에 남은 시간을 반환 (예 : 12 시간 스파이크 기간 등) 계산을 인터페이스를 스파이크 스파이크를했다, 또한 매우 일반적입니다 : 스파이크 (카운트 다운) 마감 시간 = (현재 시간 + 12H)이다.

공공  정적  무효 메인 (문자열 []에 args) {
     // 지정된 날짜 및 고정 시간 방법, DateUtils 아니라 다른 첨가제 분, 시간, 월 등의 API
     // 클래스 DateUitls 다음 패키지에 사용 평민 - 랭 
    = DateUtils.addDays 날짜 일 ( 새로운 새 DATE (), 10);    //
     에서 System.out.println ( "현재 시간이"+ DateFormatUtils.format ( 새로운 새 DATE ()의 "MM-DD-YYYY의 HH : MM : SS " )); 
    문자열 포맷 = DateFormatUtils.format (DATE의"MM-DD-YYYY의 HH : MM : SS " ) 
    에서 System.out.println ( "현재 시간 + 십일 "+ 포맷) 
} 

현재 시간이 : 2018년 5월 31일 20시 31분 53초 
현재 시간 + 십일 : 2018년 6월 10일 20시 31분 53초

시간은 날짜와 시간을 지정 노드를 얻을 수 있습니다

공공  정적  무효 메인 (문자열 [] 인수)이 발생 ParseException가 {
         // 得到指定日期 
        문자열 날짜 = "2018년 3월 3일 15시 20분 12초"을 ; 
        날짜 구문 분석 = 새로운 하여 SimpleDateFormat ( "YYYY-MM-DD HH : MM : SS" ) .parse (날짜); 
        에서 System.out.println (해석); 
    }

두 번째 방법

   / ** 
     * 하루 YYYY-MM-DD 점 밀리 초 타임 스탬프 0시 0분 1초 받기 
     * 
     * @return 
     * / 
    공공  정적 긴 getCurrentBeginDate () { 
        CAL 달력 = Calendar.getInstance ()을, 
        (cal.set를 Calendar.HOUR_OF_DAY, 0); // 제어 
        cal.set (Calendar.MINUTE, 0); // 제어점 
        cal.set (Calendar.SECOND ,. 1); // 초 제어 
        복귀 cal.getTimeInMillis을 (); 
    }

시간이 두 점은 같은 날 여부, 같은 해 결정

두 날짜를 감안할 때, 모두가 신속하게 같은 날 또는 같은 해, 내가 지금까지했던 인터페이스에 대한 수요는 등의 여부를 확인 : 사용자가 그날의 요구를 두 번 전송 인당 하루 추첨의 기회가,가, 나에가 쿼리 기록 참여 판사, 판사는 같은 날 여부를 날짜와 시간에 최신에 참여.

/ ** 
     * 결정 같은 날 여부 : 사용하여 패킷 DateUtils 클래스 평민 - 랭 
     * 
     * @param의 DAY1 
     * 파라미터 : DAY2 
     * @return 
     * / 
    공공  부울 isSameDay (날짜 DAY1, 데이트 DAY2) {
         반환 DateUtils.isSameDay을 (DAY1 , DAY2) 
    } 
 
    / ** 
     * 판정 당일 여부 : 시간에 따른 어느 정도 더 DateUtils.isSameDay 효율 ()에있어서, 클래스 joda 백 
     * 
     * @param의 날짜 1 
     * @param의 DATE2 
     * @return 
     * / 
    공공  정적  부울 isSameDay1 (날짜의 날짜 1, 날짜의 DATE2) {
        경우 (날짜 1 == null이 || DATE2 == null이 ) {
             던져  새로운 IllegalArgumentException가 ( "날짜가 null가 아닌이어야합니다" ); 
        } 
        LOCALDATE localDate1 = 새로운 LOCALDATE ( 날짜 시간 (date1.getTime ())); 
        LOCALDATE localDate2 = 새로운 LOCALDATE ( 날짜 시간 (date2.getTime ()));
        리턴 localDate1.equals (localDate2); 
    }

추천

출처www.cnblogs.com/jxd283465/p/11763128.html