SimpleDateFormat用法大全及易错分析
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用法大全及易错分析的更多相关文章
- C语言指针与数组的定义与声明易错分析
部分摘自<C语言深度解剖> 1.定义为数组,声明为指针 在文件1中定义: char a[100]; 在文件2中声明: extern char *a; //这样是错误的 这里的extern告 ...
- js undefined易错分析
undefined 以下是错误写法: data = undefined; alert(undefined==false);//这样判断会输出false; if(data!=undefined || d ...
- MVC5 + EF6 + Bootstrap3 (8) HtmlHelper用法大全(上)
文章来源:Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-httphelper-part1.html 上一节 ...
- *C语言有关指针的变量声明中的几个易错点
转至:http://my.oschina.net/ypimgt/blog/108265 Technorati 标签: 指针, typedef, const, define 我们都知道,至少听说过 ...
- pandas用法大全
pandas用法大全 一.生成数据表 1.首先导入pandas库,一般都会用到numpy库,所以我们先导入备用: import numpy as np import pandas as pd12 2. ...
- Unreal Engine 4 C++ UCLASS构造函数易出错分析
Unreal Engine 4 C UCLASS构造函数易出错分析 GENERATED_BODY GENERATED_UCLASS_BODY 在Unreal Engine 4的任意类中通常会见到两个宏 ...
- python之pandas用法大全
python之pandas用法大全 更新时间:2018年03月13日 15:02:28 投稿:wdc 我要评论 本文讲解了python的pandas基本用法,大家可以参考下 一.生成数据表1.首先导入 ...
- Python3 pandas用法大全
Python3 pandas用法大全 一.生成数据表 1.首先导入pandas库,一般都会用到numpy库,所以我们先导入备用: import numpy as np import pandas as ...
- Java易错知识点(1) - 关于ArrayList移除元素后剩下的元素会立即重排
帮一个网友解答问题时,发现这样一个易错知识点,现总结如下: 1.易错点: ArrayList移除元素后,剩下的元素会立即重排,他的 size() 也会立即减小,在循环过程中容易出错.(拓展:延伸到所有 ...
随机推荐
- Lintcode393 Best Time to Buy and Sell Stock IV solution 题解
[题目描述] Say you have an array for which the i th element is the price of a given stock on day i. Desi ...
- C# 基础问答
1.静态变量和非静态变量的区别? 2.const 和 static readonly 区别? 3.extern 是什么意思? 4.abstract 是什么意思? 5.internal 修饰符起什么作用 ...
- ajax跨域请求问题及解决办法总结
1.浏览器的同源策略及规避方法 目前,所有浏览器都实行同源政策.即协议.域名.端口都相同的URI称为"同源".不同源的url之间: a.无法读取cookie.localstorag ...
- 底部导航栏实现一 Fragment-replace
[效果](这里下载的软件收费的试用有水印) [推荐]这里推荐一个图标网http://iconfont.cn/.以上图标来自此图标网 [项目结构] [步骤] ①创建布局文件,写底部导航栏 <?xm ...
- ubuntu 下查看caj文件
知网的学位论文只有CAJ版,而我又偏偏使用Ubuntu,所以就有了这篇文章. 前端时间发现第一种方法在ubuntu 16 上不行, 请使用第二种方法. 第一种方法: 环境:Ubuntu 14.04 6 ...
- compress函数用法详解
compress函数: 主要用来删除字符串中的特定字符. 1.compress函数的基本形式compress(<source><, chars><, modifiers& ...
- ACM Wooden Stricks
有一堆n根木棍.每根棍子的长度和重量是预先知道的. 这些棒子将被木工机器逐一加工..它需要一些时间,称为安装时间,用于机器准备加工棒.设置时间与机器中的清洁操作和更换工具和形状相关联.木工机械的安装时 ...
- PHP 是什么
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言. PHP(外文名:PHP: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本 ...
- 高通开发笔记---Yangtze worknote
点击打开链接 1. repo init -u git://review.sonyericsson.net/platform/manifest -b volatile-jb-mr1-yangtze 2. ...
- 一个整数数组,长度为n,将其分为m份,使各份的和相等,求m的最大值。
比如{3,2,4,3,6} 可以分成 {3,2,4,3,6} m=1; {3,6}{2,4,3} m=2 {3,3}{2,4}{6} m=3 所以m的最大值为3. bool isShare(int* ...