Java中的日期字符串转日期类型的坑

转载自:https://blog.csdn.net/KKALL1314/article/details/81913731

SimpleDateFormat sdf =   new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " ); 

这一行代码看似很简单,但有一个坑,那就是 格式字符串不能随意改变大小写!!! 

MM和mm是不一样的,MM表示月份,mm则表示是分;HH是24小时制,而hh是12小时制。之前只想要年月日,不小心把MM写成mm,导致排序出错。

如何使用?很简单:字符串转日期用parse,日期转字符串用format!

1.字符串转日期 
  
2008-07-10 19:20:00 要把它转成日期,可以用 Date date = sdf.parse( " 2008-07-10 19:20:00 " ); 

2.日期转字符串 

假如把今天的日期转成字符串可用 String str = sdf.format(new Date()); 

        这个字符串内容的格式类似2018-07-10 19:20:00。 

        透过这个API我们便可以随心所欲的将日期转成我们想要的字符串格式,例如希望将日期输出成2018 

年7月10日,我们可以这么写: 

        SimpleDateFormat sdf =   new SimpleDateFormat( " yyyy年MM月dd日 " ); 

        String str = sdf.format(new Date()); 

 

        str便会依照我们设定的格式输出了。  

示例代码:

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

public class ConvertDemo { 

/** 
* 日期转换成字符串 
* @param date 
* @return str 
*/ 
public static String DateToStr(Date date) { 
  
   SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
   String str = format.format(date); 
   return str; 
} 

/** 
* 字符串转换成日期 
* @param str 
* @return date 
*/ 
public static Date StrToDate(String str) { 
  
   SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
   Date date = null; 
   try { 
    date = format.parse(str); 
   } catch (ParseException e) { 
    e.printStackTrace(); 
   } 
   return date; 
} 

public static void main(String[] args) { 
  
   Date date = new Date(); 
   System.out.println("日期转字符串:" + ConvertDemo.DateToStr(date)); 
   System.out.println("字符串转日期:" + ConvertDemo.StrToDate(ConvertDemo.DateToStr(date))); 
  
} 

}  

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值