zoukankan      html  css  js  c++  java
  • How to convert String to Date – Java

    In this tutorial, we will show you how to convert a String to java.util.Date. Many Java beginners are stuck in the Date conversion, hope this summary guide will helps you in some ways.


    // String -> Date
    SimpleDateFormat.parse(String);

    // Date -> String
    SimpleDateFormat.format(date);
    Refer to table below for some of the common date and time patterns used in java.text.SimpleDateFormat, refer to this JavaDoc

    Letter Description Examples
    y Year 2013
    M Month in year July, 07, 7
    d Day in month 1-31
    E Day name in week Friday, Sunday
    a Am/pm marker AM, PM
    H Hour in day 0-23
    h Hour in am/pm 1-12
    m Minute in hour 0-60
    s Second in minute 0-60
    Note
    You may interest at this Java 8 example – How to convert String to LocalDate
    1. String = 7-Jun-2013
    If 3 ‘M’, then the month is interpreted as text (Mon-Dec), else number (01-12).

    TestDateExample1.java

    package com.mkyong.date;

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;

    public class TestDateExample1 {

    public static void main(String[] argv) {

    SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
    String dateInString = "7-Jun-2013";

    try {

    Date date = formatter.parse(dateInString);
    System.out.println(date);
    System.out.println(formatter.format(date));

    } catch (ParseException e) {
    e.printStackTrace();
    }

    }

    }
    Output


    Fri Jun 07 00:00:00 MYT 2013
    07-Jun-2013
    2. String = 07/06/2013
    TestDateExample2.java

    package com.mkyong.date;

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;

    public class TestDateExample2 {

    public static void main(String[] argv) {

    SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
    String dateInString = "07/06/2013";

    try {

    Date date = formatter.parse(dateInString);
    System.out.println(date);
    System.out.println(formatter.format(date));

    } catch (ParseException e) {
    e.printStackTrace();
    }

    }

    }
    Output


    Fri Jun 07 00:00:00 MYT 2013
    07/06/2013
    3. String = Fri, June 7 2013
    TestDateExample3.java

    package com.mkyong.date;

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;

    public class TestDateExample3 {

    public static void main(String[] argv) {

    SimpleDateFormat formatter = new SimpleDateFormat("E, MMM dd yyyy");
    String dateInString = "Fri, June 7 2013";

    try {

    Date date = formatter.parse(dateInString);
    System.out.println(date);
    System.out.println(formatter.format(date));

    } catch (ParseException e) {
    e.printStackTrace();
    }

    }

    }
    Output


    Fri Jun 07 00:00:00 MYT 2013
    Fri, Jun 07 2013
    4. String = Friday, Jun 7, 2013 12:10:56 PM
    TestDateExample4.java

    package com.mkyong.date;

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;

    public class TestDateExample4 {

    public static void main(String[] argv) {

    SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a");
    String dateInString = "Friday, Jun 7, 2013 12:10:56 PM";

    try {

    Date date = formatter.parse(dateInString);
    System.out.println(date);
    System.out.println(formatter.format(date));

    } catch (ParseException e) {
    e.printStackTrace();
    }

    }

    }
    Output


    Fri Jun 07 12:10:56 MYT 2013
    Friday, Jun 07, 2013 12:10:56 PM
    5. String = 2014-10-05T15:23:01Z
    Z suffix means UTC, java.util.SimpleDateFormat doesn’t parse it correctly, you need to replace the suffix Z with ‘+0000’.

    TestDateExample5.java

    package com.mkyong.date;

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;

    public class TestDateExample5 {

    public static void main(String[] argv) {

    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
    String dateInString = "2014-10-05T15:23:01Z";

    try {

    Date date = formatter.parse(dateInString.replaceAll("Z$", "+0000"));
    System.out.println(date);

    System.out.println("time zone : " + TimeZone.getDefault().getID());
    System.out.println(formatter.format(date));

    } catch (ParseException e) {
    e.printStackTrace();
    }

    }

    }
    Output


    Sun Oct 05 23:23:01 MYT 2014
    time zone : Asia/Kuala_Lumpur
    2014-10-05T23:23:01+0800
    In Java 8, you can convert it into a java.time.Instant object, and display it with a specified time zone.

    TestDateExample6.java

    package com.mkyong.date;

    import java.time.*;

    public class TestDateExample6 {

    public static void main(String[] argv) {

    String dateInString = "2014-10-05T15:23:01Z";

    Instant instant = Instant.parse(dateInString);

    System.out.println(instant);

    //get date time only
    LocalDateTime result = LocalDateTime.ofInstant(instant, ZoneId.of(ZoneOffset.UTC.getId()));

    System.out.println(result);

    //get date time + timezone
    ZonedDateTime zonedDateTime = instant.atZone(ZoneId.of("Africa/Tripoli"));
    System.out.println(zonedDateTime);

    //get date time + timezone
    ZonedDateTime zonedDateTime2 = instant.atZone(ZoneId.of("Europe/Athens"));
    System.out.println(zonedDateTime2);

    }

    }
    Output


    2014-10-05T15:23:01Z
    2014-10-05T15:23:01
    2014-10-05T17:23:01+02:00[Africa/Tripoli]
    2014-10-05T18:23:01+03:00[Europe/Athens]

    http://www.mkyong.com/java/how-to-convert-string-to-date-java/
    http://www.mkyong.com/tutorials/java-date-time-tutorials/

  • 相关阅读:
    c语言中逆向显示数值
    c语言中无限循环语句
    css静态网页css代码
    css静态网页css代码
    考试html代码
    考试css代码
    考试html框架代码
    css静态网页代码
    5个CSS书写技巧
    5个CSS书写技巧
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/10116596.html
Copyright © 2011-2022 走看看