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/

  • 相关阅读:
    洛谷—— P2234 [HNOI2002]营业额统计
    BZOJ——3555: [Ctsc2014]企鹅QQ
    CodeVs——T 4919 线段树练习4
    python(35)- 异常处理
    August 29th 2016 Week 36th Monday
    August 28th 2016 Week 36th Sunday
    August 27th 2016 Week 35th Saturday
    August 26th 2016 Week 35th Friday
    August 25th 2016 Week 35th Thursday
    August 24th 2016 Week 35th Wednesday
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/10116596.html
Copyright © 2011-2022 走看看