2013-11-18 3 views
-2

날짜 시간을 16 진 코드로 변환하고 16 진수 코드 array.length을 17 또는 18이어야합니다.이 값을 [9] 바이트 배열에 저장해야하기 때문에이 값을 저장해야합니다.datetime을 java의 16 진수 코드로 변환하는 방법은 무엇입니까?

다음은 내가 찾고있는 형식입니다.

EXAMPLE: Thursday 17:35:20 December 15, 2005 is encoded as 
07D50C0F112314FFFF. 

미리 감사드립니다.

+2

우리가 시도한 코드 – SpringLearner

+0

을 보여줍니다. 사실 나는 다른 것을 시도했다. 방법 그러나 길이는 내가 필요로하는 것보다 많다. 나는 문자열에 날짜를 시도한 다음 16 진수로 문자열을했지만 날짜가 16 진수로 변환하면 문제가됩니다. – Rahul

+0

왜 사용하지 : date => unix timestamp => hex? –

답변

4

사용 : 날짜 => 유닉스 타임 스탬프 => 육각 :

import java.util.Calendar; 
import java.util.Date; 

public class Dates { 
    public static void main(final String[] args) 
    { 
     final Calendar cal = Calendar.getInstance(); 
     cal.set(Calendar.DATE, 15); 
     cal.set(Calendar.MONTH, Calendar.DECEMBER); 
     cal.set(Calendar.YEAR, 2005); 
     cal.set(Calendar.HOUR, 17); 
     cal.set(Calendar.MINUTE, 35); 
     cal.set(Calendar.SECOND, 20); 
     final Date date = cal.getTime(); 

     System.out.printf("Date %s is encoded as: %s\n", date, Long.toHexString(date.getTime())); 
     // decode with: new Date(Long.parseLong("1082f469308", 16)) 
    } 
} 

출력 : 1082f469308

:

일 (목) 12월 15일 CET 2005 17시 35분 20초는 다음과 같이 인코딩

+1

우리는 스스로 시도하려고 시도하지 않은 사람들에게도 코드를 제공해야합니까 – SpringLearner

+0

안녕하세요, RC 감사합니다. 코드는 정상적으로 작동하지만 길이는 16 진수 문자열의 11입니다. 17 세 또는 18 세가 필요합니다. – Rahul

+0

@javaBeginner U는 제 강사와 같습니다. 나 자신을 시험해 보았습니다. 너는 잘 하네. 어쨌든이 스레드에서 관심을 끌기 위해 도와 주셔서 감사합니다. – Rahul

관련 문제