日期和时间格式由 日期和时间模式字符串 指定。在 日期和时间模式字符串 中,未加引号的字母 'A' 到 'Z' 和 'a' 到 'z' 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号 (') 引起来,以免进行解释。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串

白话文的讲:这些A——Z,a——z这些字母(不被单引号包围的)会被特殊处理替换为对应的日期时间,其他的字符串还是原样输出。

日期和时间模式(注意大小写,代表的含义是不同的)

yyyy:年

MM:月

dd:日

hh:1~12小时制(1-12)

HH:24小时制(0-23)

mm:分

ss:秒

S:毫秒

E:星期几

D:一年中的第几天

F:一月中的第几个星期(会把这个月总共过的天数除以7)

w:一年中的第几个星期

W:一月中的第几星期(会根据实际情况来算)

a:上下午标识

k:和HH差不多,表示一天24小时制(1-24)。

K:和hh差不多,表示一天12小时制(0-11)。

z:表示时区

(2017-12-28日,更新)

因为看到了Java 8 里面对日期的格式化操作的API,回头又看了看这个以前的日期格式化。发现,文中的实例不是很全面。不符合湿胸的性格,特地来完善一下。

private static void formatDataTest() {

/*

* 日期转期望格式的字符串

*/

//HH 和 hh 的差别:前者是24小时制,后者是12小时制。

StringBuilder sb = new StringBuilder();

sb.append("yyyy年MM月dd日 HH:mm:ss")

.append(" 上下午标志 a")

.append(" E")

.append(" 一年中的第D天")

.append(" 一月中的第F个星期")

.append(" 一年中的第w个星期")

.append(" 一月中的第W个星期")

.append(" Z")

.append(" z");

SimpleDateFormat sdf = new SimpleDateFormat(sb.toString());

String dateString = sdf.format(new Date());

System.out.println(dateString);

/*

* 字符串转日期

*/

Date date;

try {

date = sdf.parse(dateString);

System.out.println(date);

} catch (ParseException e) {

System.out.println(e.getMessage());

}

}

运行结果:

2017年12月28日 18:21:731 上下午标志 下午 星期四 一年中的第362天 一月中的第4个星期 一年中的第52个星期 一月中的第5个星期 +0800 CST

Thu Dec 28 18:21:00 CST 2017

这里多说一句,一个月中的第几个星期,  F   这个出来的结果,不靠谱,具体我就在这多做测试啦,我是测试过,才这么说的,还是后面的那个  W  靠谱。

(更新完成)

具体简单常见的实例:

package com.lxk.DateFormat;

import java.text.SimpleDateFormat;

import java.util.Date;

/**

* Created by lxk on 2016/11/4

*/

public class Format {

public static void main(String[] args) {

Date ss = new Date();

System.out.println("一般日期输出:" + ss);

System.out.println("时间戳:" + ss.getTime());

//Date aw = Calendar.getInstance().getTime();//获得时间的另一种方式,测试效果一样

SimpleDateFormat format0 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String time = format0.format(ss.getTime());//这个就是把时间戳经过处理得到期望格式的时间

System.out.println("格式化结果0:" + time);

SimpleDateFormat format1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");

time = format1.format(ss.getTime());

System.out.println("格式化结果1:" + time);

}

}

测试结果图:

需要什么格式,自己拼好字符串,就可以格式化日期啦。授人以渔呀有木有。

喷子们要是觉得简单呢,就省省唾沫星子吧。我就记个笔记用。

上面的是:日期转自己想要的字符串格式,下面是字符串转日期类型。

private static void testStringToDate() {

String s = "2017-05-25";

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

Date date = null;

try {

date = format.parse(s);

} catch (ParseException e) {

System.out.println(e.getMessage());

}

System.out.println(date);

}

下面是运行的debug截图。

上面的那个  日期和时间模式  是按我们常用的年月日时分秒来放的,下面传个别人的专业的图,供参考。

定义了以下模式字母(所有其他字符 'A' 到 'Z' 和 'a' 到 'z' 都被保留):

以上所述是小编给大家介绍的java SimpleDateFormat使用详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

java tostring格式化日期_java日期格式化SimpleDateFormat的使用详解相关推荐

  1. java 检查bytebuf长度_Java学习笔记16-Netty缓冲区ByteBuf详解

    Java学习笔记16-Netty缓冲区ByteBuf详解 Netty自己的ByteBuf ByteBuf是为解决ByteBuffer的问题和满足网络应用程序开发人员的日常需求而设计的. JDK Byt ...

  2. java语言链栈_Java语言实现数据结构栈代码详解

    近来复习数据结构,自己动手实现了栈.栈是一种限制插入和删除只能在一个位置上的表.最基本的操作是进栈和出栈,因此,又被叫作"先进后出"表. 首先了解下栈的概念: 栈是限定仅在表头进行 ...

  3. java 接口 返回值_java api返回值的标准化详解

    api返回值的标准化 例如 {"status":200,"message":"操作成功","data":"{\ ...

  4. java打印菱形图案_java打印出菱形图案实例详解

    第一步:首先对图像进行解析 想要打印该图形必须要进行多层循环嵌套,分两个部分进行打印. 第一部分为上半部分前四行,他们是递增的关系,后半部分后三行为递减关系,由此可以得出我们需要写两个打的循环.并且由 ...

  5. java的匿名函数_JAVA语言中的匿名函数详解

    本文主要向大家介绍了JAVA语言中的匿名函数详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 一.使用匿名内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪.创建格式如下: ...

  6. java 迭代器的优缺点_java迭代器和for循环优劣详解

    在进行迭代的时候,程序运行的效率也是我们挑选迭代方法的重要原因.目前有三种迭代方法:for循环.迭代器和Foreach.前两者相信大家都非常熟悉,为了更加直观分析效率的不同,我们还加入Foreach一 ...

  7. java random函数用法_JAVA的Random类的用法详解

    Random类主要用来生成随机数,本文详解介绍了Random类的用法,希望能帮到大家. Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时 ...

  8. java 当前utc时间_Java获取UTC时间的方法详解

    本文实例讲述了java获取utc时间的方法.分享给大家供大家参考,具体如下: 取得本地时间: java.util.calendar cal = java.util.calendar.getinstan ...

  9. java dateutil 获取时间戳_java DateUtil工具类时间戳类型转换详解

    本文实例为大家分享了DateUtil工具类时间戳类型转换的具体代码,供大家参考,具体内容如下 package com.sinosoft.media.sms.util; import java.text ...

  10. java中用法实例_java中Calendar类用法实例详解

    本文实例讲述了java中Calendar类用法.分享给大家供大家参考,具体如下: java中的Calendar在开发中经常被忽略,这篇博客总结一下这个类,对后面项目中使用时期的时候有帮助. Calen ...

最新文章

  1. 用vs2010编译vigra静态库及简单使用举例
  2. MySQL数据库have_openss_MySQL 关于OpenSSL证书支持检查方式
  3. Docker(十二):Docker+Jenkins+Nginx+Spring Boot 自动化部署项目
  4. Mac 上 iterm2 和 VSCode 终端中的字体设置建议
  5. Mockito详细介绍
  6. jQuery中的事件冒泡、事件捕获和事件追加引发的问题
  7. 部署HDFS HA的环境
  8. 不使用任何路由协议使3台路由器通信
  9. 中文版php.ini
  10. 浙大三维视觉团队提出Animatable NeRF,从RGB视频中重建可驱动人体模型 (ICCV'21)
  11. 我的Mac中毒了,病毒居然叫做MacPerformance
  12. 怎么彻底删除mysql服务_mysql怎么卸载干净?
  13. 使用vlmcsd搭建KMS服务器激活环境
  14. 【转】DCX (数独-八皇后问题)
  15. 区块链软件搭建,区块链平台搭建
  16. 企业如何做好网址安全,防止入侵。
  17. 人工智能“剧透”《权游》大结局,第一个“领便当”的居然是ta
  18. Android调用系统相机拍照
  19. http常见状态返回码
  20. Cisco Nexus 1000V, AVS , AVE的区别

热门文章

  1. 云原生基础架构的最佳状态,就是没有架构?
  2. 为什么kill进程后socket一直处于FIN_WAIT_1状态
  3. 阿里重磅开源Blink:为什么我们等了这么久?
  4. Quick BI v3.0版本全新起航——2018杭州云栖大会
  5. 教你编写一个机器学习代码也能使用的单元测试
  6. 2018深圳云栖拉开帷幕,飞天技术汇五大专场邀你参加~
  7. Greenplum roaring bitmap与业务场景 (类阿里云RDS PG varbitx, 应用于海量用户 实时画像和圈选、透视)
  8. PyODPS 中使用 Python UDF
  9. 随时随地办公新常态 还需安全来相伴
  10. 休闲食品行业如何数字化升级,腾讯云和卫龙辣条一起打了个样