SimpleDateFormat用法大全及易错分析

简介: SimpleDateFormat使用java语言处理日期相关操作,就不可避免的会使用到SimpleDateFormat。当然了,目前我们采用较多的是Calendar类,通过对之求相关的属性值即可得到我们想得到的日期数据。

SimpleDateFormat

使用java语言处理日期相关操作,就不可避免的会使用到SimpleDateFormat。当然了,目前我们采用较多的是Calendar类,通过对之求相关的属性值即可得到我们想得到的日期数据。下面我仅仅是谈论一下,关于SimpleDateFormat的一些格式的处理


如下:为了美观一点,我就这么写了。

static String format1="yy-MM-dd";
    static String format2="yy-mm-dd";
    static String format3="yyyy-MM-dd";
    static String format4="yyyy-mm-dd";
    static String format5="yyyy-MM-dd hh:mm:ss";
    static String format6="yyyy/MM/dd";
    static String format7="yy/MM/dd HH:mm:ss";
    static String format8="yyyy/MM/dd HH:mm:ss am";
    static String []FormatArray=new String[]{format1,format2,format2,format4,format5,format6,format7,format8};

然后来个测试的方法吧。

public static void main(String []args){
        int length=FormatArray.length;
        for(int i=0;i<length;i++){
            SimpleDateFormat smf=new SimpleDateFormat(FormatArray[i]);
            String date=smf.format(new Date());
            System.out.println((i+1)+"----------"+FormatArray[i]+"  :  "+date);
        }
    }

下面请看一下得到的结果

1----------yy-MM-dd  :  15-12-08
2----------yy-mm-dd  :  15-11-08
3----------yy-mm-dd  :  15-11-08
4----------yyyy-mm-dd  :  2015-11-08
5----------yyyy-MM-dd hh:mm:ss  :  2015-12-08 06:11:09
6----------yyyy/MM/dd  :  2015/12/08
7----------yy/MM/dd HH:mm:ss  :  15/12/08 18:11:09
8----------yyyy/MM/dd HH:mm:ss am  :  2015/12/08 18:11:09 下午11

分析:
细心的你可能已经发现了

1----------yy-MM-dd  :  15-12-08
2----------yy-mm-dd  :  15-11-08

这两种格式看似差不多,但是得到的数据缺失不一样的,显然第二种是错误的。分析一下我们不难发现,那就是第二个格式的mm是小写形式,这就和后面省略的分钟的缩写有矛盾了,也就是说,系统会把此处的mm看作是分钟的情况输出,所以会导致我们的代码出现了错误。


总结
在日常使用过程中,格式化的符号一定要写正确,这样才能保证我们的程序是正确的。否则可就真的是会出现意想不到的结果的 哦。

目录
相关文章
|
4月前
|
存储 C语言
c语言进阶部分详解(详细解析字符串常用函数,并进行模拟实现(上))
c语言进阶部分详解(详细解析字符串常用函数,并进行模拟实现(上))
65 0
|
3月前
|
设计模式 Rust JavaScript
【一起学Rust | 设计模式】习惯语法——使用借用类型作为参数、格式化拼接字符串、构造函数
【一起学Rust | 设计模式】习惯语法——使用借用类型作为参数、格式化拼接字符串、构造函数
37 0
|
7天前
02-python的基础语法-标识符/运算符/字符串拓展/字符串的拼接/字符串格式化/字符串精度控制/字符串格式化方式2/对表达式进行格式化/练习题/数据输入-input语句
02-python的基础语法-标识符/运算符/字符串拓展/字符串的拼接/字符串格式化/字符串精度控制/字符串格式化方式2/对表达式进行格式化/练习题/数据输入-input语句
|
4月前
|
网络协议 NoSQL Linux
知识巩固源码落实之6:c语言拼接字符串与切割字符串(strsep)代码
知识巩固源码落实之6:c语言拼接字符串与切割字符串(strsep)代码
44 0
|
11月前
|
Python
Python 分割字符串时有多个分隔符怎么处理?
Python 分割字符串时有多个分隔符怎么处理?
61 0
|
11月前
|
SQL Java
Java奇技淫巧:new对象后加大括号{},最后顺便做了个小框架?
Java奇技淫巧:new对象后加大括号{},最后顺便做了个小框架?
206 0
|
安全 Java 编译器
java泛型的用法和详细的解释
java泛型的用法和详细的解释
手写支持函数、日期和正则的深拷贝
手写支持函数、日期和正则的深拷贝
113 0
|
算法 C++ iOS开发
C++ 基础复习系列1(输入输出类、调用数学函数类)
C++ 基础复习系列1(输入输出类、调用数学函数类)
C++ 基础复习系列1(输入输出类、调用数学函数类)
|
Java
编写Java程序,使用日期处理类实现日期的格式化输出
编写Java程序,使用日期处理类实现日期的格式化输出
262 0
编写Java程序,使用日期处理类实现日期的格式化输出