Java 中如何格式化一个日期?如格式化为 ddMMyyyy 的形式
2018-01-04 20:24
260 查看
今天楼主继续分享一道Java面试题:
Java 中如何格式化一个日期?如格式化为 ddMMyyyy 的形式?
Java 中,可以使用 SimpleDateFormat 类或者 joda-time 库来格式日期。DateFormat 类允许你使用多种流行的格式来格式化日期。参见答案中的 示例代码,代码中演示了将日期格式化成不同的格式,如 dd-MM-yyyy 或 ddMMyyyy。
这里的参考代码没有了!
我们来研究一下DateFormat和SimpleDateFormat的用法,查询到这些知识分享给大家:
JAVA字符串转日期或日期转字符串这种需求、相信基本上每个项目都要用到、当然我以往做的项目也一样、今天又遇到了这样的问题、记录一下、以方便以后的使用、我了解的日期操作类有两个、一个是DateFormat、另外一个是SimpleDateFormat
DateFormat是一个抽象类、按照以住的思路、直接使用其子类实例化即可、但是DateFormat 类本身的内部提供了可以直接为其实例化的操作
得到日期的DateFormat对象
public static final DateFormat getDateInstance()
得到日期时间的DateFormat对象
public static final DateFormat getDateTimeInstance()
直接使用DateFormat类完成Date类的转换功能
public final String format(Date date)
下面是得到日期和日期加时间的方法
但是以上的两个日期中日期的数字是完全一样的、唯一不同的是日期的显示格式不同、所以要想实现这样的转换功能就必须依靠SimpleDateFormat类
需要注意的是、在创建SimpleDateFormat的时候一定要指定时间区域、不然会有如下警告
To get local formatting use getDateInstance(), getDateTimeInstance(), or getTimeInstance(), or use new SimpleDateFormat(String template, Locale locale) with for example Locale.US for ASCII dates.
以下通过SimpleDateFormat把String转Date的方法和把Date转String的方法
也推荐使用apache公司提供的jode-time库来完成日期格式的转换!
资料转载于博客:http://dditblog.com/itshare_306.html
Java 中如何格式化一个日期?如格式化为 ddMMyyyy 的形式?
Java 中,可以使用 SimpleDateFormat 类或者 joda-time 库来格式日期。DateFormat 类允许你使用多种流行的格式来格式化日期。参见答案中的 示例代码,代码中演示了将日期格式化成不同的格式,如 dd-MM-yyyy 或 ddMMyyyy。
这里的参考代码没有了!
我们来研究一下DateFormat和SimpleDateFormat的用法,查询到这些知识分享给大家:
JAVA字符串转日期或日期转字符串这种需求、相信基本上每个项目都要用到、当然我以往做的项目也一样、今天又遇到了这样的问题、记录一下、以方便以后的使用、我了解的日期操作类有两个、一个是DateFormat、另外一个是SimpleDateFormat
一、DateFormat
此类是一个日期的格式化类、专门格式化日期的操作、因为java.util.Date类本身就已经包含了完整的日期、所以只需要将些日期按照一些好的格式格式化一下显示就好了DateFormat是一个抽象类、按照以住的思路、直接使用其子类实例化即可、但是DateFormat 类本身的内部提供了可以直接为其实例化的操作
得到日期的DateFormat对象
public static final DateFormat getDateInstance()
得到日期时间的DateFormat对象
public static final DateFormat getDateTimeInstance()
直接使用DateFormat类完成Date类的转换功能
public final String format(Date date)
下面是得到日期和日期加时间的方法
public static String getDateZH() { // 声明一个DateFormat DateFormat df1 = null; // 得到日期的DateFormat对象 df1 = DateFormat.getDateInstance(DateFormat.YEAR_FIELD, new Locale("zh", "CN")); return df1.format(new Date()); } public static String getDateTimeZH() { // 声明一个DateFormat DateFormat df2 = null; // 得到日期时间的DateFormat对象 df2 = DateFormat.getDateTimeInstance(DateFormat.YEAR_FIELD, DateFormat.ERA_FIELD, new Locale("zh", "CN")); return df2.format(new Date()); }
二、SimpleDateFormat
此类的功能是完成日期的显示格式化的、在开发中、可以会将一种日期格式变为另外一种日期格式、比如:将日期:2015-07-19 10:11:30.345转换为日期:2015年07月19日10点11分30秒345毫秒但是以上的两个日期中日期的数字是完全一样的、唯一不同的是日期的显示格式不同、所以要想实现这样的转换功能就必须依靠SimpleDateFormat类
需要注意的是、在创建SimpleDateFormat的时候一定要指定时间区域、不然会有如下警告
To get local formatting use getDateInstance(), getDateTimeInstance(), or getTimeInstance(), or use new SimpleDateFormat(String template, Locale locale) with for example Locale.US for ASCII dates.
以下通过SimpleDateFormat把String转Date的方法和把Date转String的方法
// String 转换为 Date public static Date strToDate(String strdate) { DateFormat format = new SimpleDateFormat("yyyy-MM-dd", new Locale("zh", "CN")); Date date = null; try { date = format.parse(strdate); } catch (ParseException e) { e.printStackTrace(); } return date; } // Date 转换为 String public static String dateToStr(Date date) { // 年月日****-**-** DateFormat format = new SimpleDateFormat("yyyy-MM-dd", new Locale("zh", "CN")); String str = format.format(date); System.out.println("str:" str); // 年月日**-*-* format = DateFormat.getDateInstance(DateFormat.SHORT); str = format.format(date); System.out.println(str); // 年月日****-*-* format = DateFormat.getDateInstance(DateFormat.MEDIUM); str = format.format(date); System.out.println(str); // ****年*月*日星期* format = DateFormat.getDateInstance(DateFormat.FULL); str = format.format(date); System.out.println(str); return str; }
总结
DateFormat 可以直接使用、但其本身是一个抽象类、可以根据Locate指定的区域不同得到不同的日期时间显示效果、SimpleDateFormat 类是DateFormat 类的子类、一般情况下来讲 DateFormat 类很少会直接使用、而都使用SimpleDateFormat 类完成!也推荐使用apache公司提供的jode-time库来完成日期格式的转换!
资料转载于博客:http://dditblog.com/itshare_306.html
相关文章推荐
- JAVA中如何将一个json形式的字符串转为json对象
- 如何再JAVA中对数字和日期进行格式化
- Java给定一个long值返回格式化日期样式
- Java - 日期和时间:- 如何取得年月日、时分秒?- 如何取得从1970年1月1日0时0分0秒到现在的毫秒数?- 如何取得某月的最后一天?- 如何格式化日期?
- 在Java中,如何控制一个double数以两位小数形式输出
- java中如何能把一个字符串转成日期对象
- java如何创建一个指定的日期对象
- 如何把日期进行格式化,把看不懂的日期转换成形式如yyyy-MM-dd的形式
- Java中如何得到一个整型数的二进制形式(十进制转化成二进制)
- Java给定一个long值返回格式化日期样式
- java中如何获得当前时间以及日期格式化的 4000 详解
- Java中如何判断一个日期字符串是否是指定的格式
- 转:如何在JAVA中使用日期 (一)
- 如何在一个窗口显示 一张表--JAVA
- 如何在java swing/awt中单击右键弹出一个菜单
- 使用java.text包格式化数字和日期
- 一个js的日期格式化函数--zhuan
- 使用java.text包格式化数字和日期
- 一个用在java项目中的日期选择组件
- JAVA中如何输出一个特殊符号?