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看作是分钟的情况输出,所以会导致我们的代码出现了错误。


总结

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

SimpleDateFormat用法大全及易错分析的更多相关文章

  1. C语言指针与数组的定义与声明易错分析

    部分摘自<C语言深度解剖> 1.定义为数组,声明为指针 在文件1中定义: char a[100]; 在文件2中声明: extern char *a; //这样是错误的 这里的extern告 ...

  2. js undefined易错分析

    undefined 以下是错误写法: data = undefined; alert(undefined==false);//这样判断会输出false; if(data!=undefined || d ...

  3. MVC5 + EF6 + Bootstrap3 (8) HtmlHelper用法大全(上)

    文章来源:Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-httphelper-part1.html 上一节 ...

  4. *C语言有关指针的变量声明中的几个易错点

    转至:http://my.oschina.net/ypimgt/blog/108265   Technorati 标签:  指针, typedef, const, define 我们都知道,至少听说过 ...

  5. pandas用法大全

    pandas用法大全 一.生成数据表 1.首先导入pandas库,一般都会用到numpy库,所以我们先导入备用: import numpy as np import pandas as pd12 2. ...

  6. Unreal Engine 4 C++ UCLASS构造函数易出错分析

    Unreal Engine 4 C UCLASS构造函数易出错分析 GENERATED_BODY GENERATED_UCLASS_BODY 在Unreal Engine 4的任意类中通常会见到两个宏 ...

  7. python之pandas用法大全

    python之pandas用法大全 更新时间:2018年03月13日 15:02:28 投稿:wdc 我要评论 本文讲解了python的pandas基本用法,大家可以参考下 一.生成数据表1.首先导入 ...

  8. Python3 pandas用法大全

    Python3 pandas用法大全 一.生成数据表 1.首先导入pandas库,一般都会用到numpy库,所以我们先导入备用: import numpy as np import pandas as ...

  9. Java易错知识点(1) - 关于ArrayList移除元素后剩下的元素会立即重排

    帮一个网友解答问题时,发现这样一个易错知识点,现总结如下: 1.易错点: ArrayList移除元素后,剩下的元素会立即重排,他的 size() 也会立即减小,在循环过程中容易出错.(拓展:延伸到所有 ...

随机推荐

  1. c++自定义类型

    /* --自定义数据类型 结构体 共用体 共用体的数据成员在存储数据时共享存储空间,修改一个成员也会改变另一个成员的值 枚举型 如果要使变量只能使用有限的几个值,则应当使用枚举体.之所以叫枚举体,就是 ...

  2. Stall Reservations

    Oh those picky N (1 <= N <= 50,000) cows! They are so picky that each one will only be milked ...

  3. Java日志-Log4j2

    Log4j2参考资料 Log4j2 官方配置文档 1. Log4j2基本概念: Logger 在代码中产生日志信息的.比如logger.info("some log message" ...

  4. iOS开发基础之设置状态栏和二维码的unspported type found 问题

    最近遇到设置状态栏和二维码AVCaptureMetadataOutput setMetadataObjectTypes: unspported type found的错误问题,所以我在这里进行总结一下 ...

  5. JBOSS EAP实战(2)-集群、NGINX集成、队列与安全

    JBOSS HTTP的Thread Group概念 JBOSS是一个企业级的J2EE APP Container,因此它和任何一种成熟的企业级中间件一样具有Thread Group的概念.所谓Thre ...

  6. GitLab服务器IP地址设置

    最近使用GitLab 搭建了Git的私有仓库,但是发现私有仓库的地址居然是localhost,不是本机的IP地址,最后百度了一下,找了很久才找到,特此记录一下. 首先说明一下,我linux虚拟机的IP ...

  7. 【SSH系列】静态代理&&动态代理

    从设计模式说起 代理模式是二十三中设计模式中的一种,代理模式就是指由一个代理主题来操作真实的主题,真实的主题执行具体的业务操作,而代理主题负责其她相关业务,简而言之,代理模式可以由以下三个部分组成: ...

  8. java集合循环删除

    java集合循环删除,java list集合操作,java循环.分享牛,分享牛原创.java集合删除方法. 2.6.1.第一种方式 list.add("1"); list.add( ...

  9. Mac状态栏wifi图标一直闪烁重复连接但是网络正常的解决办法

    本猫的系统是EI(10.11.6),不知从哪个版本开始(至少是升级到EI之后),状态栏上的wifi图标一直闪烁,这应该是表示正在连接网络.但是网络是正常的! 虽说闪烁的wifi图标不影响使用,但是有强 ...

  10. Swift中如何化简标准库中冗长的类实例初始化代码

    可能有些童鞋并不知道,在Swift中缩写点符号对于任何类型的任何static成员都有效. 我们实际写一个例子看一下: import UIKit class CFoo{ static let share ...