SimpleDateFormat 是一个以与语言环境相关的方式来格式化和分析日期的具体类。它允许进行格式化(日期 -> 文本)、分析(文本 -> 日期)和规范化。SimpleDateFormat 使得可以选择任何用户定义的日期-时间格式的模式.

日期和时间模式

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

定义了以下模式字母(所有其他字符 'A' 到 'Z' 和 'a' 到 'z' 都被保留):字母 日期或时间元素 表示 示例

GEra 标志符TextAD

y年Year1996; 96

M年中的月份MonthJuly; Jul; 07

w年中的周数Number27

W月份中的周数Number2

D年中的天数Number189

d月份中的天数Number10

F月份中的星期Number2

E星期中的天数TextTuesday; Tue

aAm/pm 标记TextPM

H一天中的小时数(0-23)Number0

k一天中的小时数(1-24)Number24

Kam/pm 中的小时数(0- 11)Number0

ham/pm 中的小时数(1-12)Number12

m小时中的分钟数Number30

s分钟中的秒数Number55

S毫秒数Number978

z时区General time zonePacific Standard Time; PST; GMT-08:00

Z时区RFC 822 time zone-0800以下示例显示了如何在美国语言环境中解释日期和时间模式。给定的日期和时间为美国太平洋时区的本地时间 2001-07-04 12:08:56

日期和时间模式结果

"yyyy.MM.dd G 'at' HH:mm:ss z"2001.07.04 AD at 12:08:56 PDT

"EEE, MMM d, ''yy"Wed, Jul 4, '01

"h:mm a"12:08 PM

"hh 'o''clock' a, zzzz"12 o'clock PM, Pacific Daylight Time

"K:mm a, z"0:08 PM, PDT

"yyyyy.MMMMM.dd GGG hh:mm aaa"02001.July.04 AD 12:08 PM

"EEE, d MMM yyyy HH:mm:ss Z"Wed, 4 Jul 2001 12:08:56 -0700

"yyMMddHHmmssZ"010704120856-0700

"yyyy-MM-dd'T'HH:mm:ss.SSSZ"2001-07-04T12:08:56.235-0700

SimpleDateFormat 在编程中的实际应用实例:

(一)格式化(日期 -> 文本)

一般地,中文中常用的  日期 时间如:20070719 20:29:30

SimpleDateFormat formater = new SimpleDateFormat("yyyyMMdd hh:mm:ss");

System.out.println("Date to String "+formater.format(new Date()));

相近的常用形式还有 yyMMdd hh:mm:ss  yyyy-MM-dd hh:mm:ss  dd-MM-yyyy hh:mm:ss

但是值得注意是:这种格式(19JUL07 )及其相近的形式,就有点小技巧  19JUL07

SimpleDateFormat formater = new SimpleDateFormat("ddMMMyy",,new Locale("US"))

System.out.println("Date to String "+formater.format(new Date()).toUpperCase());

由于是英文的所以应该使用 Locale 对象参数,否则就使用的是默认本地 Locale 。

(二)分析(文本 -> 日期)

一般地,想要什么要的格式的时间就就使用什么形式的日期时间模式和文本参数,例如 2007-7-19 则返回一个java.util.Date型的时间对象,时分秒都补0

formater=newSimpleDateFormat("yyyyMMMdd",newLocale("US"));

try{

   System.out.println("String to Date"+formater.parse("2007sep01"));

  }catch(ParseException e){

   e.printStackTrace();

  }

特别地,

formater=newSimpleDateFormat("yyyyMMMdd",newLocale("US"));

try{

   System.out.println("String to Date"+formater.parse("2007sep01"));

  }catch(ParseException e){

   e.printStackTrace();

  }

它也返回一个java.util.Date型的日期对象,时分秒都补0

(三)文本 - > Timestamp  、日期 -> Timestamp

Timestamp t ;

  SimpleDateFormat format=newSimpleDateFormat("yyyy-MM-dd hh:mm:ss");

try{

   t=newTimestamp(format.parse("2007-07-19 00:00:00").getTime());

  }catch(ParseException e){

   e.printStackTrace();

  }

 Timestamp t ;

  SimpleDateFormat format=newSimpleDateFormat("yyyy-MM-dd hh:mm:ss");

  t=newTimestamp(newDate().getTime());

java simpledateformat星期_Java中随心所欲格式化时间 SimpleDateFormat相关推荐

  1. Java中随心所欲格式化时间(快刀斩乱麻)

    YJava中随心所欲格式化时间(快刀斩乱麻) 最近在南航电子商务公司做feinar的项目的后期功能中的PNR(Pessenger Name Record)的解析,由于要使用中航信的IBE开发包,里面的 ...

  2. java 获取星期_java中如何获取日期时间中的星期几?

    1.取得指定日期是星期几 取得指定日期是星期几可以采用下面两种方式取得日期是星期几: a.使用Calendar类 //根据日期取得星期几 public static String getWeek(Da ...

  3. java 日历工具_java中强大的时间处理工具:Calendar类(日历类)

    java中的Calendar类为什么起个名字就叫做日历呢?因为这个类可以让我们像看日历一样得到这个时间的所有属性,你还在为不知道2014年5月7日是周几而苦恼吗?你还在为2005年8月14日是8月的第 ...

  4. java yyyy-mm-dd 日期格式_Java中的日期时间格式化

    原标题:Java中的日期时间格式化 1 Java日期时间格式化的概念 我们在日常的开发过程中常常会碰到关于日期时间的计算与存储问题,比如我们要把一个当前时间类型转换成字符串类型,我们会直接使用Util ...

  5. java如何获取当天日期_Java 中获取当前时间

    一. 获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; public class NowStri ...

  6. java list 时间排序吗_java中的list时间排序

    最初设想使用:时间long型 private void testTimes() throws InterruptedException{ Calendar cal=Calendar.getInstan ...

  7. java 分钟数_Java 中计算两个时间的相差分钟数

    一.应用场景 在业务中需要将两个日期相减,求两个值相差的分钟数 二.代码 1.导包: import java.text.ParseException; import java.text.SimpleD ...

  8. java date 之后_java中时间类(util Date)的后延与前推处理

    当后延或者前推的天数在一定时间之内时,可以用以下方法处理 public static Date  getValidEndTime(Date date,int validDayCount){ Simpl ...

  9. java电脑日历_Java中calendar对万年历的制作(同步电脑上的万年历日期格式)

    Java编程中calendar对万年历的制作教程 使用到的方法: 1.日期类型的转换: String----->Date String str = "2020年05月27日 20:28 ...

最新文章

  1. Shiny平台构建与R包开发(五)——ui美化
  2. poj3671Dining Cows(DP)
  3. AJAX将成为移动Web2.0时代首选开发平台
  4. 我们的开源项目-2013年度开源社区线下聚会《JEECG微云快速开发平台-SAAS企业应用在线开发与微信移动应用》PPT分享
  5. Paravirtualization (半虚拟化PV) - Xen
  6. Python脚本可在Microsoft Excel中格式化数据
  7. 敏捷开发团队管理系列之四:程序与测试团队III
  8. 自己java_一些自己用的java类
  9. Cocos2d-x 3.2:定时器的使用和原理探究(1)
  10. _stdcall与_cdecl的区别
  11. 连接Mysql弹出2005_正确安装数据库SQL2005和安装出现的问题的解决方法
  12. 第四篇 NumPy基础:数组和⽮量计算
  13. 用栈实现中缀表达式求值
  14. VC 和 VS 区别
  15. 开源项目推荐ruoyi
  16. 智头条」十四五数字经济发展规划发布,工信部推动充电标准统一
  17. 用css 添加手状样式,鼠标移上去变小手
  18. 智能工厂数据采集方案
  19. html周志模板,校友邦周志范文16篇
  20. 计算机信息安全 概述

热门文章

  1. 《c语言程序设计》实验报告,《C语言程序设计》实验报告模板-2013级软件工程...
  2. android:screenOrientation=portrait 一直警告报红
  3. python程序画漂亮图片_Python能画美观的专业插图吗 ?当然!
  4. HAProxy快速入门(一)——简介及原理
  5. python读取excel文档的sheet
  6. 【区块链技术工坊31期】许向:艺术品领域区块链探索实践
  7. 蓝桥杯 ADV-226 9-3摩尔斯电码 java
  8. 齐岳试剂(F-BT)2Ir(3F-acac)|(F-BT)2Ir(6F-acac)|磷光铱配合物Ir(BPBM)2(acac)
  9. 苹果禁用UDID的后续
  10. WEB前端全套零基础视频教程+软件2021最新编程视频需要留邮箱