原文

[java]转:String Date Calendar之间的转换

https://www.cnblogs.com/qima/p/3652566.html

作者  祺祺妈妈

关于SimpleDateFormat

基本介绍

包含在Java的 java.text.SimpleDateFormat包中,用于在Date与String之间转换。

日期和时间模式字符串

简单的说就是生成的(或接收的)字符串的格式,其中特定的字符被特定的时间信息(如年、月、日)等替代,对照表如下。

使用严格限制转换

默认创建的实例的日期格式是不严格的,即它会认为“2018-13-1”为合法的日期,并且自动转换成“2019-1-1”(月份自动+1),实际使用时很多情况下不会使用到该特性,更多还是希望抛出格式错误的异常。
解决方法:该类的实例包括一个方法setLenient(),传入参数false即可设置该实例使用严格限制的日期转换,如下。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
sdf.setLenient(false)

Calendar 转 String

Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = sdf.format(calendar.getTime());

String 转 Calendar

String str="2012-5-27";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date date =sdf.parse(str);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);

Date 转 String

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
String dateStr=sdf.format(new Date());

String 转 Date

String str="2012-5-27";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date date= sdf.parse(str);

Date 转 Calendar

Calendar calendar = Calendar.getInstance();
calendar.setTime(new java.util.Date());

Calendar 转 Date

Calendar calendar = Calendar.getInstance();
java.util.Date date =calendar.getTime();

String 转 Timestamp

Timestamp ts = Timestamp.valueOf("2012-1-14 08:11:00");

Date 转 Timestamp

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = df.format(new Date());
Timestamp ts = Timestamp.valueOf(time);

0 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注