JAVA字符串转日期或日期转字符串
2016-09-27 21:02
411 查看
private static SimpleDateFormat getDefaultDateFormat(){ return new SimpleDateFormat("yyyy-MM-dd"); } public SimpleDateFormat getCurrentSimpleDateFormat() { if (this.sdf!=null) return sdf; else return getDefaultDateFormat(); }
以上是这两天敲的关于一个显示日历选择时间中很少很少的一点点代码,全程蒙蔽,最后在修改代码错误的时候明白,要改的地方是字符串和日期之间的转换。由此在网上看到了到底怎么个转换法。以下转载:
用的API是SimpleDateFormat, 用法:
SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " ); 这一行最重要,它确立了转换的格式,yyyy是完整的公元年,MM是月份,dd是日期,
1.字符串转日期
2008-07-10 19:20:00 要把它转成日期,可以用 Date date = sdf.parse( " 2008-07-10 19:20:00 " );
2.日期转字符串
假如把今天的日期转成字符串可用 String str = sdf.format(new Date());
这个字符串内容的格式类似2008-07-10 19:20:00。
透过这个API我们便可以随心所欲的将日期转成我们想要的字符串格式,例如希望将日期输出成2008
年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)));
}
}
Java中日期格式转换 /** * 字符串转换为java.util.Date<br> * 支持格式为 yyyy.MM.dd G 'at' hh:mm:ss z 如 '2002-1-1 AD at 22:10:59 PSD'<br> * yy/MM/dd HH:mm:ss 如 '2002/1/1 17:55:00'<br> * yy/MM/dd HH:mm:ss pm 如 '2002/1/1 17:55:00 pm'<br> * yy-MM-dd HH:mm:ss 如 '2002-1-1 17:55:00' <br> * yy-MM-dd HH:mm:ss am 如 '2002-1-1 17:55:00 am' <br> * @param time String 字符串<br> * @return Date 日期<br> */ public static Date stringToDate(String time){ SimpleDateFormat formatter; int tempPos=time.indexOf("AD") ; time=time.trim() ; formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); if(tempPos>-1){ time=time.substring(0,tempPos)+ "公元"+time.substring(tempPos+"AD".length());//china formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); } tempPos=time.indexOf("-"); if(tempPos>-1&&(time.indexOf(" ")<0)){ formatter = new SimpleDateFormat ("yyyyMMddHHmmssZ"); } else if((time.indexOf("/")>-1) &&(time.indexOf(" ")>-1)){ formatter = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss"); } else if((time.indexOf("-")>-1) &&(time.indexOf(" ")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss"); } else if((time.indexOf("/")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a"); } else if((time.indexOf("-")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a"); } ParsePosition pos = new ParsePosition(0); java.util.Date ctime = formatter.parse(time, pos); return ctime; }
最后,关于时间的用法还是挺多的,望多积累
相关文章推荐
- java字符串类型的日期处理问题
- Java字符串转换为日期和时间比较大小
- Java日期转换SimpleDateFormat格式大全 和 判断是否为合法的日期时间字符串?
- Java字符串转换为日期和时间比较大小
- Java从入门到精通 - JavaString 字符串拼接,截取,查找及日期转换
- JAVA字符串转日期或日期转字符串
- java与C#字符串转换成日期处理比较
- JAVA字符串转日期或日期转字符串
- java字符串转换成日期
- Java字符串转换为日期和时间比较大小
- 将未指定格式的日期字符串转化成java.util.Date类型日期对象
- Java中将字符串转为日期
- Java一个字符串是否符合日期格式
- 使用java判断字符串是否日日期类型
- 将未指定格式的日期字符串转化成java.util.Date类型日期对象
- java 字符串和日期类型的相互转换问题
- java 日期和字符串转换
- java中字符串的格式以及日期的加减运算
- Java日期处理——字符串转换为日期时间
- Java 将字符串转化成日期格式