programing

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

sourcejob 2022. 10. 4. 23:26
반응형

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

"2012년 12월 12일" 같은 끈 안에 데이트가 있어요.이것을 밀리초(길이)로 변환하려면 어떻게 해야 합니까?

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();
}

누군가가 이 질문에 현대적인 답을 제공해야 할 때이다.2012년 당시에도 좋은 답변이 올라왔다.왜 2016년에 게시된 답변들은 오래전에 구식 수업을 사용하는가?SimpleDateFormat그리고.Date제게는 좀 더 미스터리 같아요. java.timeJSR-310으로 알려진 최신 Java 날짜 및 시간 API는 사용하기에 훨씬 좋습니다.ThreeTenABP를 통해 Android에서 사용할 수 있습니다. 다음 질문을 참조하십시오. ThreeTen 사용방법Android Project의 ABP.

대부분의 경우 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

또 하나 주의할 점은 로케일을 에 제공하는 것을 잊지 마십시오.DateTimeFormatter12월을 영어로 받아들였는데, 같은 달로 불리는 다른 언어도 있으니 직접 적절한 장소를 선택해 주세요.로케일을 지정하지 않은 경우 포맷터는 JVM의 로케일 설정을 사용합니다.이 설정은 대부분의 경우 작동하지만 다른 로케일 설정으로 장치에서 앱을 실행하면 어느 날 예기치 않게 실패합니다.

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

를 참조해 주세요.SimpleDateFormat해석할 수 있는 클래스Stringa를 반환하다Date및 그getTime의 방법Date학급.

  • 첫 번째 문자열 변환 대상java.util.Date날짜 포맷 사용
  • getTime()을 사용하여 날짜에서 밀리섹 수를 가져옵니다.

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

가장 쉬운 방법은 Date()와 get Time()을 사용하는 것입니다.

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

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

1) 먼저 문자열을 java로 변환합니다.Simplifiedformatter를 사용한 날짜.

2) get Time 메서드를 사용하여 날짜부터 밀리섹 수를 구합니다.

 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();
  }
        }

기타 예: 여기를 클릭

아래 코드 시도

        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();

언급URL : https://stackoverflow.com/questions/12473550/how-to-convert-a-string-date-to-long-millseconds

반응형