https://blog.naver.com/guehgk/220693686949


Date date = new Date(time_t type valuse * 1000);


time_t 가 초단위 이므로 1000곱해서 밀리세컨드 단위로 바꿔준다.

 

time_t 은 long int 이므로 long 으로 typecate 가능하다.


ex)

[C++]


time_t timer;

timer = time(NULL);

long time_toLong = (long) timer;

 


[JNI]

//jobj 는 jobject 타입의 매개변수

jclass clazz = env->GetObjectClass(jobj); 

jfieldID fid;


long date = time_toLong;

fid = env->GetFieldID(clazz, "timevaluse", "J");

env->SetLongField(jobj, fid, date_toLong);

 


[java]

long date_toLong;

Date date = new Date(date_toLong* 1000); // millisec 로 변환

String a = "AM"; // am/pm

int hour = date.getHours(); // 시간

int min = date.getMinutes(); // 분


String hour_toString = Integer.toString(hour);

String min_toString = Integer.toString(min);


if(date.getHours() > 12){ //12시간 기준으로 변환

a = "PM";

hour = date.getHours()-12;

}

if(hour < 10){ // 한자리일 경우 앞에 0을 붙여줌

hour_toString = "0" + Integer.toString(hour);

}

if(min < 10){ // 한자리일 경우 앞에 0을 붙여줌

min_toString = "0" + Integer.toString(min);

}

String date_toString = Integer.toString(date.getYear()+1900)+"/"+ Integer.toString(date.getMonth()+1)+"/"+Integer.toString(date.getDate())+ " "+ a +" " + hour_toString + ":" + min_toString;


//  2016/4/26 AM 11:57  형태로 표기됨

 


참고자료 링크

http://jeainy.tistory.com/7