如何在UNIX中将unix时间格式转换为日格式月份日期和时间格式

时间:2018-03-27 12:47:36

标签: java simpledateformat

我的时间格式即将来临 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");

2108-03-27T17:18:16.985+0530

输入日期我必须将其转换为其他时间格式

Mar 27,2018 5:18 pm

预计输出可以请建议我如何将给定时间转换为java中的其他时间格式。

4 个答案:

答案 0 :(得分:1)

SimpleDateFormat sdf = new SimpleDateFormat("MMM d,yyyy h:mm a");
System.out.println(sdf.format(date));

答案 1 :(得分:1)

如果您使用的是Java 8,请使用java.time API:

DateTimeFormatter parser = new DateTimeFormatterBuilder()
                .append(DateTimeFormatter.ISO_LOCAL_DATE_TIME)
                .appendPattern("XX")
                .toFormatter();
OffsetDateTime odt = OffsetDateTime.parse("2108-03-27T17:18:16.985+0530", parser);

DateTimeFormatter fmt = DateTimeFormatter.ofPattern("MMM dd,yyyy h:mm a", Locale.ENGLISH);
String formattedDate = fmt.format(odt); // Mar 27,2108 5:18 PM

SimpleDateFormatlots of problems,其中许多都是通过java.time API解决的,你应该更喜欢使用它们。

对于旧版本的Java,有一个nice backport,具有相同的类和功能。

答案 2 :(得分:0)

    SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy hh:mm a");
    System.out.println(sdf.format(new Date()));

// 3月27日,2018 06:28 PM

了解更多 What are the date formats available in SimpleDateFormat class?

答案 3 :(得分:0)

您可以将日期格式转换为任意日期格式。

您只需将String格式传递给SimpleDateFormate

将此方法用作static,并通过传递inputDate

从任意位置进行调用

简化日期转换方法:

public static String getFormattedDate(String inputDate)
{
    String outputFormattedDate = "";
    try
    {
        SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z");
        Date inputFormatDate = inputFormat.parse(inputDate);

        SimpleDateFormat outputFormat = new SimpleDateFormat("MMM dd,yyyy h:mm a");
        outputFormattedDate = outputFormat.format(inputFormatDate);
    }
    catch (Exception ex)
    {
        outputFormattedDate = inputDate;
        ex.printStackTrace();
    }

    return outputFormattedDate;
}

希望它会对你有所帮助。