문자열 날짜를 긴 밀리 초로 변환하는 방법


답변:


154

SimpleDateFormat 사용

String string_date = "12-December-2012";

SimpleDateFormat f = new SimpleDateFormat("dd-MMM-yyyy");
try {
    Date d = f.parse(string_date);
    long milliseconds = d.getTime();
} catch (ParseException e) {
    e.printStackTrace();
}

17
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
Date date = (Date)formatter.parse("12-December-2012");
long mills = date.getTime();

11

누군가가이 질문에 대한 현대적인 답변을 제공 할 때입니다. 질문을 받았을 때 2012 년에 게시 된 답변도 좋은 답변이었습니다. 2016 년에 게시 된 답변이 그 당시 오래되었던 구식 수업도 사용하는 이유SimpleDateFormat 하고 Date나에게 좀 더 신비의입니다. java.time, JSR-310으로도 알려진 최신 Java 날짜 및 시간 API는 작업하기에 훨씬 좋습니다. ThreeTenABP를 통해 Android에서 사용할 수 있습니다 . Android Project에서 ThreeTenABP를 사용하는 방법 질문을 참조 하세요 .

대부분의 경우 하루의 시작 시점 이후의 밀리 초를 사용하는 것이 좋습니다. UTC로 . 이를 얻으려면 :

    DateTimeFormatter dateFormatter
            = DateTimeFormatter.ofPattern("d-MMMM-uuuu", Locale.ENGLISH);
    String stringDate = "12-December-2012";
    long millisecondsSinceEpoch = LocalDate.parse(stringDate, dateFormatter)
            .atStartOfDay(ZoneOffset.UTC)
            .toInstant()
            .toEpochMilli();
    System.out.println(millisecondsSinceEpoch);

이것은 다음을 인쇄합니다.

1355270400000

특정 시간대의 시작 시간이 필요한 경우 UTC 대신 해당 시간대를 지정하십시오. 예를 들면 다음과 같습니다.

            .atStartOfDay(ZoneId.of("Asia/Karachi"))

예상대로 이것은 약간 다른 결과를 제공합니다.

1355252400000

주목해야 할 또 다른 사항은 로케일을 DateTimeFormatter. 12 월을 영어로했는데, 그 달이 똑같은 다른 언어가 있으므로 직접 적절한 로케일을 선택하십시오. 로케일을 제공하지 않은 경우 포맷터는 JVM의 로케일 설정을 사용합니다.이 설정은 많은 경우에 작동 할 수 있으며 다른 로케일 설정으로 기기에서 앱을 실행하면 언젠가 예기치 않게 실패합니다.


9

a SimpleDateFormat를 구문 분석 String하고 반환 할 수있는 클래스 와 클래스 DategetTime메서드를 살펴보십시오 Date.



3

simpleDateFormat을 사용하여 문자열 날짜를 구문 분석 할 수 있습니다.


1

가장 쉬운 방법은 Date () 및 getTime ()을 사용하는 날짜를 사용하는 것입니다.

    Date dte=new Date();
    long milliSeconds = dte.getTime();
    String strLong = Long.toString(milliSeconds);
    System.out.println(milliSeconds)

1

simpledateformat을 사용하면 쉽게 얻을 수 있습니다.

1) 먼저 simpledateformatter를 사용하여 문자열을 java.Date로 변환하십시오.

2) getTime 메서드를 사용하여 날짜로부터 밀리 초 수를 얻습니다.

 public class test {
      public static void main(String[] args) {
      String currentDate = "01-March-2016";
      SimpleDateFormat f = new SimpleDateFormat("dd-MMM-yyyy");
     Date parseDate = f.parse(currentDate);
     long milliseconds = parseDate.getTime();
  }
        }

더 많은 예제는 여기를 클릭 하십시오


0

아래 코드를 시도하십시오

        SimpleDateFormat f = new SimpleDateFormat("your_string_format", Locale.getDefault());
        Date d = null;
        try {
            d = f.parse(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        long timeInMillis = d.getTime();
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.