DateFormat、SimpleDateFormat学习笔记
来源:互联网 发布:编程学习网 编辑:程序博客网 时间:2024/06/05 11:55
G Era 标志符 Text AD y 年 Year 1996; 96 M 年中的月份 Month July; Jul; 07 w 年中的周数 Number 27 W 月份中的周数 Number 2 D 年中的天数 Number 189 d 月份中的天数 Number 10 F 月份中的星期 Number 2 E 星期中的天数 Text Tuesday; Tue a Am/pm 标记 Text PM H 一天中的小时数(0-23) Number 0 k 一天中的小时数(1-24) Number 24 K am/pm 中的小时数(0-11) Number 0 h am/pm 中的小时数(1-12) Number 12 m 小时中的分钟数 Number 30 s 分钟中的秒数 Number 55 S 毫秒数 Number 978 z 时区 General time zone Pacific Standard Time; PST; GMT-08:00 Z 时区 RFC 822 time zone -0800
测试代码
package com.undergrowth.text;import java.text.DateFormat;import java.text.FieldPosition;import java.text.ParseException;import java.text.ParsePosition;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Locale;import java.util.Map;import org.junit.Test;/** * Format-->用于处理语言环境敏感的信息 * format-->对象转为字符串 * parseObject-->字符串转为对象 * DateFormat-->处理日期、时间格式化 * SimpleDateFormat-->日期格式化的实现类 * --------------------------------------G Era 标志符 Text AD y 年 Year 1996; 96 M 年中的月份 Month July; Jul; 07 w 年中的周数 Number 27 W 月份中的周数 Number 2 D 年中的天数 Number 189 d 月份中的天数 Number 10 F 月份中的星期 Number 2 E 星期中的天数 Text Tuesday; Tue a Am/pm 标记 Text PM H 一天中的小时数(0-23) Number 0 k 一天中的小时数(1-24) Number 24 K am/pm 中的小时数(0-11) Number 0 h am/pm 中的小时数(1-12) Number 12 m 小时中的分钟数 Number 30 s 分钟中的秒数 Number 55 S 毫秒数 Number 978 z 时区 General time zone Pacific Standard Time; PST; GMT-08:00 Z 时区 RFC 822 time zone -0800 -------------------------------------- * @author Administrator * */public class DateFormatLearn {//日期格式DateFormat dateFormat;//日历Calendar calendar;//日期Date nowDate=new Date(System.currentTimeMillis());//日期格式化具体类SimpleDateFormat simpleDateFormat=new SimpleDateFormat();//时间字符串String nowTimeString,pattern;//解析位置ParsePosition parsePosition=new ParsePosition(0);//字段位置 跟踪字符串FieldPosition fieldPosition=new FieldPosition(DateFormat.MONTH_FIELD);/** * 测试DateFormat的静态方法 getAvailableLocales */@Testpublic void testDateFormatAvailableLocales(){Locale[] locales=DateFormat.getAvailableLocales();availLocale(locales);}/** * 遍历可得到的语言环境 * @param locales */private void availLocale(Locale[] locales) {for (Locale locale : locales) {System.out.println(locale.getCountry() + "\t"+ locale.getDisplayCountry() + "\t"+ locale.getDisplayName() + "\t" + locale.getLanguage()+ "\t" + locale.getDisplayLanguage());}}/** * 测试获取DateFormat的获取 */@Testpublic void testDateFormat(){//获取日期格式化dateFormat=DateFormat.getDateInstance();//获取到与日期格式化相关的日期calendar=dateFormat.getCalendar();//按照默认格式格式化日期defaultFormatDate();}/** * 按照默认格式格式化日期 */private void defaultFormatDate() {// TODO Auto-generated method stub nowTimeString=dateFormat.format(nowDate);System.out.println(nowTimeString);System.out.println(System.currentTimeMillis());System.out.println(calendar.getTimeInMillis());}/** * SimpleDateFormat-->解析日期格式的实现类 */@Testpublic void testSimpleDateFormat(){//默认格式formatSimpleDateFormat();//修改日期格式化模式List<String> patternsList=createListPattern();//迭代日期格式for (String pattern : patternsList) {simpleDateFormat.applyPattern(pattern);formatSimpleDateFormat();}}/** * 创建一系列的模式 * @return */private List<String> createListPattern() {// TODO Auto-generated method stubList<String> patternsList=new ArrayList<String>();patternsList.add("yyyy-MM-ddHH:mm:ss.Sz");patternsList.add("Gyyyy-MM-dda HH:mm:ss.Sz");patternsList.add("Gyyyy-MM-ddkk:mm:ss.Sz");patternsList.add("yyyy-MM-dda hh:mm:ss.Sz");patternsList.add("Gyyyy-MM-ddKK:mm:ss.Sz");patternsList.add(" 一年中的第DD天HH:mm:ss.SZ");patternsList.add("G 一年中的第DD天HH:mm:ss.SZ");patternsList.add("G 月份中的星期数:FFHH:mm:ss.SZ");patternsList.add("G 星期中的天数:EEHH:mm:ss.SZ");return patternsList;}/** * 测试不同的模式 */private void formatSimpleDateFormat() {nowTimeString=simpleDateFormat.format(nowDate);System.out.println(simpleDateFormat.toPattern());System.out.println(nowTimeString);}/** * 解析字符串为对象 */@Testpublic void testPrase(){try {Map<String, String> datePattern=createPatternsMap();//迭代不同的模式 将其转换为日期for (Map.Entry<String, String> dateEntry : datePattern.entrySet()) {//获取字符串和日期模式System.out.println(dateEntry.getKey()+"---对应模式---"+dateEntry.getValue());simpleDateFormat.applyPattern(dateEntry.getValue());System.out.println(simpleDateFormat.parse(dateEntry.getKey()));}} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}}/** * 创建不同的日期和时间模式 * @return */private Map<String, String> createPatternsMap() {// TODO Auto-generated method stubMap<String, String> datePattern=new HashMap<String, String>();List<String> patternsList=createListPattern();//迭代日期格式for (String pattern : patternsList) {simpleDateFormat.applyPattern(pattern);nowTimeString=simpleDateFormat.format(nowDate);//将不同的日期和模式存储在Map中datePattern.put(nowTimeString, pattern);}return datePattern;}/** * 测试解析位置 */@Testpublic void testPrasePosition(){nowTimeString=simpleDateFormat.format(nowDate);System.out.println("带解析的字符串-->"+nowTimeString);System.out.println("日期格式化模式-->"+simpleDateFormat.toPattern());System.out.println("开始的位置-->"+parsePosition.getIndex());System.out.println("解析的日期-->"+simpleDateFormat.parse(nowTimeString,parsePosition));System.out.println("解析完的位置-->"+parsePosition.getIndex());System.out.println("解析的日期-->"+simpleDateFormat.parse(nowTimeString,parsePosition));}/** * 测试日期常量 */@Testpublic void testConstants(){//用于表示月份常量System.out.println(DateFormat.MONTH_FIELD);simpleDateFormat.applyPattern("yyyy-MM-ddHH:mm:ss.Sz");StringBuffer toAppendTo=new StringBuffer();//转换日期 跟踪日期字符串nowTimeString=simpleDateFormat.format(nowDate,toAppendTo,fieldPosition).toString();System.out.println(nowTimeString);System.out.println(toAppendTo.toString());//获取字符串的起始位置System.out.println(fieldPosition.getBeginIndex()+"\t"+fieldPosition.getEndIndex());}}
0 0
- DateFormat、SimpleDateFormat学习笔记
- Java格式化日期类DateFormat和SimpleDateFormat的学习
- DateFormat与SimpleDateFormat
- DateFormat与SimpleDateFormat
- DateFormat和SimpleDateFormat
- DateFormat and SimpleDateFormat
- DateFormat和SimpleDateFormat
- DateFormat和SimpleDateFormat
- DateFormat/SimpleDateFormat类
- 学习笔记 SimpleDateFormat
- SimpleDateFormat学习笔记
- 日期格式转化dateformat、simpleDateFormat
- 15.java DateFormat 和 SimpleDateFormat
- 类DateFormat与类SimpleDateFormat
- DateFormat类和SimpleDateFormat类
- Date、Calendar、DateFormat、SimpleDateFormat类
- Date 和dateFormat子类SimpleDateFormat
- 【Java常用类库】_日期操作类(DateFormat、SimpleDateFormat)笔记
- maven打包一个包含依赖jar包的可执行jar
- 从十个数中输出最大数
- LeetCode - Unique Paths II - Frequent
- MFC文件操作大全
- mysql实现nextVal功能
- DateFormat、SimpleDateFormat学习笔记
- Java线程:线程的交互
- poj_3080
- Android设置TextView的行间距、行高
- setResult(int resultCode) startActivityForResult 作用
- STL之set使用方法小结
- NGUI 学习笔记
- 事件方法必须是类的方法
- QTabWidget的tabposition为west时,改变tab文字方向为从上到下