날짜 시간을 24 시간 형식으로 변환


83

서버에서 얻는 시간은 Jul 27, 2011 8:35:29 AM.

나는 그것을 yyyy-MM-dd HH:mm:ss.

또한 변환 된 시간을 24 시간 형식으로하고 싶습니다. 누구든지이 문제에 대한 해결책을 줄 수 있습니까? 내가 얻고 싶은 출력은 다음과 같습니다.2011-07-27 08:35:29

답변:


120

이 시도:

String dateStr = "Jul 27, 2011 8:35:29 AM";
DateFormat readFormat = new SimpleDateFormat( "MMM dd, yyyy hh:mm:ss aa");
DateFormat writeFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
    date = readFormat.parse(dateStr);
} catch (ParseException e) {
    e.printStackTrace();
}

if (date != null) {
    String formattedDate = writeFormat.format(date);
}

5
이 코드로는 2:46 PM을 14:46으로 변환 할 수 없습니다. 내가 뭔가를 놓치고 있습니까?
pnv

@ user1930402 읽기 형식을 다음으로 변경하여이를 수행 할 수 hh:mm a있습니다. 입력은 초를 무시합니다 (추측입니다).
Dhruv Ghulati 2016

1
우리는 형식있게 만든다으로 금주 모임이있을 때 hh는 다른 작은 사건이라고는 국회 의사당에 있어야합니다
Narsireddy

1
날짜 형식의 패턴을 모르는 경우 매우 작고 식별하기 어렵습니다. 나를 위해, 그것은 단지 변화 hhHH하고 문제가 해결이!
S_K

190

H vs h는 24 시간과 12 시간 형식의 차이입니다.


1
데이 구세주. 감사.
루크 Arshed

2
간단한 답변 감사합니다. 어떤 코드가 필요하지 니펫
aianitro

1
초보자 : DateFormat format = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
AlexS

천재. 감사!
Giedrius Šlikas


11

이 시도:

Date date=new Date("12/12/11 8:22:09 PM");    
System.out.println("Time in 24Hours ="+new SimpleDateFormat("HH:mm").format(date));


4

아래에 주어진 날짜의 예를 사용하여 요구 사항에 따라 두 가지 형식의 날짜를 인쇄합니다.

String date="01/10/2014 05:54:00 PM";

SimpleDateFormat simpleDateFormat=new SimpleDateFormat("dd/MM/yyyy hh:mm:ss aa",Locale.getDefault());

try {
            Log.i("",""+new SimpleDateFormat("ddMMyyyyHHmmss",Locale.getDefault()).format(simpleDateFormat.parse(date)));

            Log.i("",""+new SimpleDateFormat("dd/MM/yyyy HH:mm:ss",Locale.getDefault()).format(simpleDateFormat.parse(date)));

        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

여전히 질문이 있으시면 응답 해주십시오. 감사.


2
import java.text.SimpleDateFormat;

import java.util.Date;

public class DateFormatExample {

public static void main(String args[]) {

    // This is how to get today's date in Java
    Date today = new Date();

    //If you print Date, you will get un formatted output
    System.out.println("Today is : " + today);

    //formatting date in Java using SimpleDateFormat
    SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd-MM-yyyy");
    String date = DATE_FORMAT.format(today);
    System.out.println("Today in dd-MM-yyyy format : " + date);

    //Another Example of formatting Date in Java using SimpleDateFormat
    DATE_FORMAT = new SimpleDateFormat("dd/MM/yy");
    date = DATE_FORMAT.format(today);
    System.out.println("Today in dd/MM/yy pattern : " + date);

    //formatting Date with time information
    DATE_FORMAT = new SimpleDateFormat("dd-MM-yy:HH:mm:SS");
    date = DATE_FORMAT.format(today);
    System.out.println("Today in dd-MM-yy:HH:mm:SS : " + date);

    //SimpleDateFormat example - Date with timezone information
    DATE_FORMAT = new SimpleDateFormat("dd-MM-yy:HH:mm:SS Z");
    date = DATE_FORMAT.format(today);
    System.out.println("Today in dd-MM-yy:HH:mm:SSZ : " + date);

} 

}

산출:

오늘입니다 : Fri Nov 02 16:11:27 IST 2012

오늘 dd-MM-yyyy 형식 : 02-11-2012

오늘 dd / MM / yy 패턴 : 02/11/12

오늘 dd-MM-yy : HH : mm : SS : 02-11-12 : 16 : 11 : 316

오늘 dd-MM-yy : HH : mm : SSZ : 02-11-12 : 16 : 11 : 316 +0530


2

두 줄로 :

SimpleDateFormat simpleDateFormat=new SimpleDateFormat("hh:mm aa",Locale.getDefault());
        FAJR = new SimpleDateFormat("HH:mm",Locale.getDefault()).format(simpleDateFormat.parse("8:35 PM");

2
    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    Date date = new Date();
    Date date2 = new Date("2014/08/06 15:59:48");

    String currentDate = dateFormat.format(date).toString();
    String anyDate = dateFormat.format(date2).toString();

    System.out.println(currentDate);
    System.out.println(anyDate);

1

단지 팁,

java, util.Date 대신 JodaTime을 사용하십시오. 훨씬 더 강력하며 toString ( "yyy-MM-dd HH : mm : ss")와 같은 형식을 전달할 수있는 toString ( "") 메소드가 있습니다. ;

http://joda-time.sourceforge.net/


1

캘린더를 사용하면 다음과 같이 작동합니다.

    //create first Calendar object
    Calendar calendar = Calendar.getInstance();

    calendar.set(Calendar.HOUR_OF_DAY, 15); // 3 PM
    // the same is
    calendar.set(Calendar.AM_PM, Calendar.PM); // choose PM mode
    calendar.set(Calendar.HOUR, 3); // 3 PM

    System.out.println( calendar.get(Calendar.HOUR) ); // AM_PM format
    System.out.println( calendar.get(Calendar.HOUR_OF_DAY) ); // 0-23 format

0

이것은 JODA를 사용하는 방법입니다.

입력 예는 07/20/2015 01:46:34.436 AM

public static String get24HourFormat(String dateString){
        Date date = new Date();
        DateTime date1=new DateTime();

        //  String date="";
        int hour=0;
        //int year=0;
        if(dateString!=null){

            try {
                DateTimeFormatter formatter = DateTimeFormat.forPattern("MM/dd/yyyy hh:mm:ss.SSS aa");
                DateTimeFormatter output = DateTimeFormat.forPattern("kk");

                date1=formatter.parseDateTime(dateString);
                hour=date1.getHourOfDay();
                System.out.println(output.print(date1));
                //  System.out.println(date);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        return hour+"";
    }
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.