Parsing time and time in java

I have a time format in (yyyy-mm-ddTHH: mm + 0: 0000) .. I need to convert this format to mm-dd-yyyy hh: mm am / pm using a java program ... any help I will do it ... thanks in advance ...

+3
source share
6 answers

Try something like this:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm+s:SSSS");
Date date = format.parse(dateString);
format = new SimpleDateFormat("MM-dd-yyyy hh:mm a");
dateString = format.format(date);
+9
source

Look java.text.SimpleDateFormat, you will need two instances: one for parsing, one for formatting.

+2
source

. SimpleDateFormat 2011 , , . , 2014 .

.

  • yyyy-mm-ddTHH:mm+0:0000 ISO 8601, +0:0000 UTC. , h:mmss, , - .
  • , am/pm . .

:

    DateTimeFormatter sourceFormat
            = DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm'+0:0000'");
    DateTimeFormatter targetFormat
            = DateTimeFormatter.ofPattern("MM-dd-uuuu hh:mm a", Locale.ENGLISH);

    String sourceTime = "2017-07-05T20:31+0:0000";
    String convertedTime = LocalDateTime.parse(sourceTime, sourceFormat)
            .format(targetFormat)
            .toLowerCase(Locale.ENGLISH);

    System.out.println(convertedTime);

07-05-2017 08:31 pm

+0:0000 , . pm . .

, :

    sourceTime = sourceTime.replaceFirst("(\\d:\\d{2})(\\d{2})$", "0$1:$2");
    String convertedTime = OffsetDateTime.parse(sourceTime)
            .format(targetFormat)
            .toLowerCase(Locale.ENGLISH);

replaceFirst 0:0000 00:00:00, , + -, ISO 8601. ( - , ). - , .

DateTimeFormatter, LocalDateTime OffsetDateTime JSR-310. Java 8 . Java 6 7 ThreeTen Backport. backport Android, ThreeTenABP.

+2

. :

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTimeAMPM {
    public static void main(String[] args) throws ParseException {

DateFormat inputDateFormatter = new SimpleDateFormat(
    "yyyy-MM-dd'T'HH:mm+s:SSSS");
Date date = inputDateFormatter.parse("2011-11-11T22:33+0:400");
String outputDateFormatter = "MM-dd-yyyy HH:mm:ss a";
SimpleDateFormat sdf = new SimpleDateFormat(outputDateFormatter);
System.out.println("Date: " + sdf.format(date));
}

}

+1

You can do what Paulo and Walrus say, or just use String.substring (), since your syntax requirements are very simple.

0
source

You must create a Data object from your String -> use the appropriate class (e.g. SimpleDataFormat ), and then print it using a different format.

0
source

All Articles