Java中如何将String转成Date

Java中如何将String转成Date

最近在开发Json数据反序列化为Java对象的时候发现spring mvc 和 Jackson 对Date类型对支持不是特别好,虽然在Java对象序列化为Json数据的过程中提供了便利的注解,但是反序列化却没有,于是就引出了下面的问题,我需要手工的将字符串转换为Date类型的数据,java.text.SimpleDateFormat 为我们提供了这种转换的基础设施。如下列出了的格式化模式的简单定义,如果 ‘M’ 大于等于3位, 月份会显示为字母,否则是数字. 更详细的定义请参考 java.text.SimpleDateFormat JavaDoc。

Letter    Description        Examples
y        Year                2015
M        Month in year        Nov, 11, 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
    
1. Date = 7-Nov-2015

    SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
    String dateInString = "7-Nov-2015";

    try {

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

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

Output

Mon Nov 07 00:00:00 MYT 2015
07-Nov-2015

2. Date = 07/06/2015

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

    try {

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

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

Output
Mon Nov 07 00:00:00 MYT 2015
07/06/2015

3. Date = Nov 7, 2015

    SimpleDateFormat formatter = new SimpleDateFormat("MMM dd, yyyy");
    String dateInString = "Nov 7, 2015";        

    try {

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

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

Mon Nov 07 00:00:00 MYT 2015
Nov 07, 2015

4. Date = Fri, Nov 7 2015

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

    try {

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

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

Output
Mon Nov 07 00:00:00 MYT 2015
Mon, Nov 07 2015

2. Date and Time Example
1. Date and Time = Friday, Nov 7, 2015 12:10:56 PM

    SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a");
    String dateInString = "Friday, Nov 7, 2015 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
Mon Nov 07 12:10:56 MYT 2015
Monday, Nov 07, 2015 12:10:56 PM

总结
本文简单的总结了将字符串转换为Java对象的主流方法,希望对大家有所帮助。

时间: 2024-10-10 01:42:01

Java中如何将String转成Date的相关文章

JAVA中怎么将string转换成date

比如说String date="1987-10-10";我想给他转换成DATE类型的,而且输出后还是"1987-10-10"这个格式的,不是带英文的那些东西 String -> Date 1 2 3 java.text.SimpleDateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd"); String s= "2011-07-09 ";  Date date 

Java String类型转换成Date日期类型

插入数据库时,存入当前日期,需要格式转换 import java.text.SimpleDateFormat; formatter = new SimpleDateFormat( "yyyy-MM-dd "); String date = formatter.format(new Date());//格式化数据,取当前时间结果为 2014-10-30 String格式的数据转化成Date格式 import java.text.SimpleDateFormat; formatter =

JAVA中int、String的类型转换

int -> String int i=12345;String s="";第一种方法:s=i+"";第二种方法:s=String.valueOf(i);这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢? String -> int s="12345";int i;第一种方法:i=Integer.parseInt(s);第二种方法:i=Integer.valueOf(s).intValue();这两种方法有什么区别

java中特殊的String类型

Java中String是一个特殊的包装类数据有两种创建形式: String s = "abc"; String s = new String("abc"); 第一种先在栈中创建一个对String类的对象引用变量s,然后去查找"abc"是否被保存在字符串常量池中,如果没有则在栈中创建三个char型的值 'a'.'b'.'c',然后在堆中创建一个String对象object,它的值是刚才在栈中创建的三个char型值组成的数组{'a'.'b'. 'c'

java中如何将string 转化成long

1.Java中如何将string 转化成long long l = Long.parseLong([String]); 或 long l = Long.parseLong([String],[int radix]); long l = Long.valueOf("123").longValue(); 2.Long.ValueOf("String")与Long.parseLong("String")的区别 Long.ValueOf("St

Java中InputStream和String之间的转化

https://blog.csdn.net/lmy86263/article/details/60479350 在Java中InputStream和String之间的转化十分普遍,本文主要是总结一下转换的各种方法,包括JDK原生提供的,还有一些外部依赖提供的.1.InputStream转化为String1.1 JDK原生提供 方法一:byte[] bytes = new byte[0];bytes = new byte[inputStream.available()];inputStream.r

Java中InputStream和String之间的转换方法

源码地址: https://github.com/pnunu/pnunu-io 在Java中InputStream和String之间的转化十分普遍,本文主要是总结一下转换的各种方法,包括JDK原生提供的,还有一些外部依赖提供的. 1.InputStream转化为String 1 JDK原生提供 方法一: byte[] bytes = new byte[inputStream.available()]; inputStream.read(bytes); String str = new Strin

Java中int与String间的类型转换

int -> String int i=12345;String s=""; 除了直接调用i.toString();还有以下两种方法第一种方法:s=i+"";第二种方法:s=String.valueOf(i);这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢? String -> int s="12345";int i;第一种方法:i=Integer.parseInt(s);第二种方法:i=Integer.valu

转!!java中Object转String

Object转为String的几种形式 在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结.常用的方法有Object.toString(),(String)要转换的对象,String.valueOf(Object)等.下面对这些方法一一进行分析. 方法1:采用 Object.toString()方法请看下面的例子:Object object = getObject();System.out.println(object.toStr