日時を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分を14時46分に変換できません。私は何かが足りないのですか?
pnv 2015

@ user1930402これを行うには、読み取り形式を次のように変更しますhh:mm a。入力は秒を無視します(推測です)。
Dhruv Ghulati 2016

1
形式にaaがある場合、hhは小さい場合であり、それ以外の場合は国会議事堂にある必要があります
Narsireddy 2018

1
日付形式のパターンに気付いていない場合は、非常に小さくて識別が困難です。私にとっては、それだけの変更であるhhHHして問題解決しました!
S_K

188

H vs hは、24時間形式と12時間形式の違いです。


1
日の救世主。ありがとう。
Farooq Arshed 2016

2
とても簡単な答えをありがとう。コードスニペットは必要ありません
aianitro 2017年

1
初心者の場合: DateFormat format = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
AlexS 2018年

天才。ありがとう!
GiedriusŠlikas

97
kk = Hours in 1-24 format
hh= hours in 1-12 format
KK= hours in 0-11 format
HH= hours in 0-23 format

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

以下に示す日付の例を取り上げ、要件に応じて2つの異なる形式の日付を印刷します。

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形式:2012年2月11日

今日は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

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.