2

날짜 + 시간밀리 초으로 변환하고 싶습니다. 나는이 코드를 사용하여 변환하고있다.DateTime을 밀리 초로 변환

final TimePicker time = (TimePicker) findViewById(R.id.timePicker1); 
final DatePicker date = (DatePicker) findViewById(R.id.datePicker1); 

final Calendar calendar = Calendar.getInstance(); 

calendar.set(date.getYear(), date.getMonth(), 
          date.getDayOfMonth(), time.getCurrentHour(), 
          time.getCurrentMinute(), 0); 
final long startTime = calendar.getTimeInMillis(); 

그러나 정확한 값을 제공하지 않습니다. 예를 들어 이것을 변환하려면 "Sep 23 2000 02:45 AM" 이 값은 ""입니다. 하지만 나를 올바른 제공이 값은 내가 때문에 내 현재 위치의 우리 time.getCurrentHour() + 5하려고

http://www.ruddwire.com/handy-code/date-to-millisecond-calculators/

http://www.timestampconvert.com/?go1=true&m=09&d=23&y=2000&hours=02&min=45&sec=0&Submit=++++++Convert+to+timestamp+++++&offset=-5

이들 사이트에서 같은 것을 GMT + 5처럼되지하지만 does't 결과. 밀리 세컨드로 date + time의 정확한 값을 어떻게 얻을 수 있습니까 ???

답변

1

확인의 난 그냥이 코드

TimeZone timezone = TimeZone.getTimeZone("GMT+05:00"); 
calendar.setTimeZone(timezone); 
에 시간대를 추가 을 수행
0

시도해보십시오.

Calendar calendar = Calendar.getInstance(); 
     Date date = calendar.getTime(); 
     TimeZone tz = TimeZone.getTimeZone("your timezone"); 

     SimpleDateFormat formatter = 
      (SimpleDateFormat)DateFormat.getDateTimeInstance(DateFormat.LONG, 
      DateFormat.LONG, Locale.getDefault()); 

     formatter.setTimeZone(tz); 
     formatter.applyPattern("your pattern"); 
     formatter.parse("yourdate"); 
2

당신이 달력에 직접 값을 설정할 경우 정확한 값을 얻을 것이다 :

Calendar c = Calendar.getInstance(); 
c.set(2000, 8, 23, 2, 45, 0); 

System.out.println("TimeInMillis:" + c.getTimeInMillis()); 

Date e = new Date(c.getTimeInMillis()); 
System.out.println("Date:" + e); 

결과는 다음과 같습니다

TimeInMillis:969666300102 
Date:Sat Sep 23 02:45:00 AST 2000 

는 그래서 DatePickerTimePicker 반환 올바른 값을 확인하십시오.