SimpleDateFormat格式化日期以及日期的相关操作
- long ac=System.currentTimeMillis();
- System.out.println("Test.main(系统当前时间毫秒表示)"+ac);
- Date aDate=new Date(ac);
- System.out.println("Test.main(日期显示)"+aDate.toString());
- //打印时间
- Test.main(系统当前时间毫秒表示)1411549986174
- Test.main(日期显示)Wed Sep 24 17:13:06 CST 2014
字母
|
日期或时间元素
|
表示
|
示例
|
G | Era 标志符 | Text | AD |
y
|
年
|
1996; 96
|
|
M | 年中的月份 | Month | July; Jul; 07 |
w
|
年中的周数
|
27
|
|
W | 月份中的周数 | Number | 2 |
D
|
年中的天数
|
189
|
|
d | 月份中的天数 | Number | 10 |
F
|
月份中的星期
|
2
|
|
E | 星期中的天数 | Text | Tuesday; Tue |
a
|
Am/pm 标记
|
PM
|
|
H | 一天中的小时数(0-23) | Number | 0 |
k
|
一天中的小时数(1-24)
|
24
|
|
K | am/pm 中的小时数(0-11) | Number | 0 |
h
|
am/pm 中的小时数(1-12)
|
12
|
|
m | 小时中的分钟数 | Number | 30 |
s
|
分钟中的秒数
|
55
|
|
S | 毫秒数 | Number | 978 |
z
|
时区
|
Pacific Standard Time; PST; GMT-08:00
|
|
Z | 时区 | RFC 822 time zone | -0800 |
- import java.util.Date;
- import java.util.Locale;
- import java.text.DateFormat;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- /**
- * Created by IntelliJ IDEA.
- * User: leizhimin
- * Date: 2007-11-30
- * Time: 11:20:58
- * To change this template use File | Settings | File Templates.
- */
- public class TestSimpleDateFormat {
- public static void main(String args[]) throws ParseException {
- TestSimpleDateFormat test = new TestSimpleDateFormat();
- test.testDateFormat();
- }
- public void testDateFormat() throws ParseException {
- //创建日期
- Date date = new Date();
- //创建不同的日期格式
- DateFormat df1 = DateFormat.getInstance();
- DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss EE");
- DateFormat df3 = DateFormat.getDateInstance(DateFormat.FULL, Locale.CHINA); //产生一个指定国家指定长度的日期格式,长度不同,显示的日期完整性也不同
- DateFormat df4 = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒 EE", Locale.CHINA);
- DateFormat df5 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss EEEEEE", Locale.US);
- DateFormat df6 = new SimpleDateFormat("yyyy-MM-dd");
- DateFormat df7 = new SimpleDateFormat("yyyy年MM月dd日");
- //将日期按照不同格式进行输出
- System.out.println("-------将日期按照不同格式进行输出------");
- System.out.println("按照Java默认的日期格式,默认的区域 : " + df1.format(date));
- System.out.println("按照指定格式 yyyy-MM-dd hh:mm:ss EE ,系统默认区域 :" + df2.format(date));
- System.out.println("按照日期的FULL模式,区域设置为中文 : " + df3.format(date));
- System.out.println("按照指定格式 yyyy年MM月dd日 hh时mm分ss秒 EE ,区域为中文 : " + df4.format(date));
- System.out.println("按照指定格式 yyyy-MM-dd hh:mm:ss EE ,区域为美国 : " + df5.format(date));
- System.out.println("按照指定格式 yyyy-MM-dd ,系统默认区域 : " + df6.format(date));
- //将符合该格式的字符串转换为日期,若格式不相配,则会出错
- Date date1 = df1.parse("07-11-30 下午2:32");
- Date date2 = df2.parse("2007-11-30 02:51:07 星期五");
- Date date3 = df3.parse("2007年11月30日 星期五");
- Date date4 = df4.parse("2007年11月30日 02时51分18秒 星期五");
- Date date5 = df5.parse("2007-11-30 02:51:18 Friday");
- Date date6 = df6.parse("2007-11-30");
- System.out.println("-------输出将字符串转换为日期的结果------");
- System.out.println(date1);
- System.out.println(date2);
- System.out.println(date3);
- System.out.println(date4);
- System.out.println(date5);
- System.out.println(date6);
- }
- }
运行结果:
- -------将日期按照不同格式进行输出------
- 按照Java默认的日期格式,默认的区域 : 07-11-30 下午5:04
- 按照指定格式 yyyy-MM-dd hh:mm:ss EE ,系统默认区域 :2007-11-30 05:04:10 星期五
- 按照日期的FULL模式,区域设置为中文 : 2007年11月30日 星期五
- 按照指定格式 yyyy年MM月dd日 hh时mm分ss秒 EE ,区域为中文 : 2007年11月30日 05时04分10秒 星期五
- 按照指定格式 yyyy-MM-dd hh:mm:ss EE ,区域为美国 : 2007-11-30 05:04:10 Friday
- 按照指定格式 yyyy-MM-dd ,系统默认区域 : 2007-11-30
- -------输出将字符串转换为日期的结果------
- Fri Nov 30 14:32:00 CST 2007
- Fri Nov 30 02:51:07 CST 2007
- Fri Nov 30 00:00:00 CST 2007
- Fri Nov 30 02:51:18 CST 2007
- Fri Nov 30 02:51:18 CST 2007
- Fri Nov 30 00:00:00 CST 2007
- Process finished with exit code 0
- import java.util.*;
- import java.text.SimpleDateFormat;
- /**
- * Created by IntelliJ IDEA.
- * User: leizhimin
- * Date: 2007-11-30
- * Time: 15:06:57
- * Calendar的使用测试
- */
- public class TestCalendar {
- public static void main(String args[]) {
- TestCalendar testCalendar = new TestCalendar();
- testCalendar.testCalendar();
- }
- public void testCalendar() {
- //创建Calendar的方式
- Calendar now1 = Calendar.getInstance();
- Calendar now2 = new GregorianCalendar();
- Calendar now3 = new GregorianCalendar(2007, 10, 30);
- Calendar now4 = new GregorianCalendar(2007, 10, 30, 15, 55); //陷阱:Calendar的月份是0~11
- Calendar now5 = new GregorianCalendar(2007, 10, 30, 15, 55, 44);
- Calendar now6 = new GregorianCalendar(Locale.US);
- Calendar now7 = new GregorianCalendar(TimeZone.getTimeZone("GMT-8:00"));
- //通过日期和毫秒数设置Calendar
- now2.setTime(new Date());
- System.out.println(now2);
- now2.setTimeInMillis(new Date().getTime());
- System.out.println(now2);
- //定义日期的中文输出格式,并输出日期
- SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒 E", Locale.CHINA);
- System.out.println("获取日期中文格式化化输出:" + df.format(now5.getTime()));
- System.out.println();
- System.out.println("--------通过Calendar获取日期中年月日等相关信息--------");
- System.out.println("获取年:" + now5.get(Calendar.YEAR));
- System.out.println("获取月(月份是从0开始的):" + now5.get(Calendar.MONTH));
- System.out.println("获取日:" + now5.get(Calendar.DAY_OF_MONTH));
- System.out.println("获取时:" + now5.get(Calendar.HOUR));
- System.out.println("获取分:" + now5.get(Calendar.MINUTE));
- System.out.println("获取秒:" + now5.get(Calendar.SECOND));
- System.out.println("获取上午、下午:" + now5.get(Calendar.AM_PM));
- System.out.println("获取星期数值(星期是从周日开始的):" + now5.get(Calendar.DAY_OF_WEEK));
- System.out.println();
- System.out.println("---------通用星期中文化转换---------");
- String dayOfWeek[] = {"", "日", "一", "二", "三", "四", "五", "六"};
- System.out.println("now5对象的星期是:" + dayOfWeek[now5.get(Calendar.DAY_OF_WEEK)]);
- System.out.println();
- System.out.println("---------通用月份中文化转换---------");
- String months[] = {"一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"};
- System.out.println("now5对象的月份是: " + months[now5.get(Calendar.MONTH)]);
- }
- }
运行结果
- java.util.GregorianCalendar[time=1196414388324,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2007,MONTH=10,WEEK_OF_YEAR=48,WEEK_OF_MONTH=5,DAY_OF_MONTH=30,DAY_OF_YEAR=334,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=5,AM_PM=1,HOUR=5,HOUR_OF_DAY=17,MINUTE=19,SECOND=48,MILLISECOND=324,ZONE_OFFSET=28800000,DST_OFFSET=0]
- java.util.GregorianCalendar[time=1196414388324,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2007,MONTH=10,WEEK_OF_YEAR=48,WEEK_OF_MONTH=5,DAY_OF_MONTH=30,DAY_OF_YEAR=334,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=5,AM_PM=1,HOUR=5,HOUR_OF_DAY=17,MINUTE=19,SECOND=48,MILLISECOND=324,ZONE_OFFSET=28800000,DST_OFFSET=0]
- 获取日期中文格式化化输出:2007年11月30日 03时55分44秒 星期五
- --------通过Calendar获取日期中年月日等相关信息--------
- 获取年:2007
- 获取月(月份是从0开始的):10
- 获取日:30
- 获取时:3
- 获取分:55
- 获取秒:44
- 获取上午、下午:1
- 获取星期数值(星期是从周日开始的):6
- ---------通用星期中文化转换---------
- now5对象的星期是:五
- ---------通用月份中文化转换---------
- now5对象的月份是: 十一月
- Process finished with exit code 0
SimpleDateFormat格式化日期以及日期的相关操作的更多相关文章
- MySQL 日期格式化,取年月日等相关操作
日期取年.月.日 select id, phone,time,year(time),month(time), DAY(time),TIME(time) from user where phone='x ...
- DateTimeHelper【日期类型与字符串互转以及日期对比相关操作】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 实现日期和字符串之间的转换以及日期的相关操作: 1.日期格式的字符串输出为Date类型: 2.将Date类型以指定格式输出: 3.将 ...
- java 的Date 日期相关操作
String 与 Date互转(1)基于SimpleDateFormat实现: package com.bky.df; import java.text.ParseException; import ...
- SimpleDateFormat格式化日期
SimpleDateFormat格式化日期 import java.text.SimpleDateFormat;import java.util.Date;public class test { pu ...
- Java进阶(二十八)SimpleDateFormat格式化日期问题
SimpleDateFormat格式化日期问题 前言 发现一个问题,经过以下语句处理后,发现12:27:45转换后成为了00:27:45. DateFormat df = null; if(DATE1 ...
- java 使用simpleDateFormat格式化日期 时间.RP
首先了解一下格式化日志的所有表示. 时间日期标识符: yyyy:年 MM:月 dd:日 hh:1~12小时制(1-12) HH:24小时制(0-23) mm:分 ss:秒 S:毫秒 E:星期几 D:一 ...
- 家庭记账本app进度之android中AlertDialog的相关应用以及对日期时间的相关操作(应用alertdialog使用的谈话框)
对于AlertDialog的相关知识: 1.创建构造器AlertDialog.Builder的对象: 2.通过构造器对象调用setTitle.setMessage.setIcon等方法构造对话框 ...
- Java 中日期的几种常见操作 —— 取值、转换、加减、比较
Java 的开发过程中免不了与 Date 类型纠缠,准备总结一下项目经常使用的日期相关操作,JDK 版本 1.7,如果能够帮助大家节约那么几分钟起身活动一下,去泡杯咖啡,便是极好的,嘿嘿.当然,我只提 ...
- 聊聊 Java 中日期的几种常见操作 —— 取值、转换、加减、比较
Java 的开发过程中免不了与 Date 类型纠缠,准备总结一下项目经常使用的日期相关操作,JDK 版本 1.7,如果能够帮助大家节约那么几分钟起身活动一下,去泡杯咖啡,便是极好的,嘿嘿.当然,我只提 ...
随机推荐
- (转)SSIS_数据流转换(Union All&合并联接&合并)
Union All : 与sql语言 Union All 一样,不用排序,上下合并多个表.Union All转换替代合并转换:输入输出无需排序,合并超过两个表 合并联接 : 有左连接.内连接.完全连接 ...
- uva1401 dp+Trie
这题说的是给了一个长的字符串长度最大300000,又给了4000个单词 单词的长度不超过100.计算这个字符串能组成多少种不同单词的组合,求出方案总数.dp[i]以第i个字符为开始的字符串能有多少种的 ...
- Python 读取写入配置文件 ConfigParser
https://blog.csdn.net/piaodexin/article/details/77371343 https://www.cnblogs.com/feeland/p/4502931.h ...
- 利用python统计代码行
参加光荣之路测试开发班已三月有余,吴总上课也总问“ 咱们的课上了这么多次了大家实践了多少行代码了?”.这里是一个一脸懵逼的表情.该怎么统计呢?一个个文件数当然不可取,能用代码解决的事咱们坚决不动手.最 ...
- ansible之template模块
趁着最近在搞ansible,现在学习了一波template模块的用法: 1.使用template模块在jinja2中引用变量,先来目录结构树 [root@master ansible]# tree . ...
- linux内核分析第二周-完成一个简单的时间片轮转多道程序内核代码
中断时计算机运行的一个非常重要的功能.之所以重要,是因为由于种种原因,计算机不能将一个程序从头执行到尾不间断,而是可能会出现很多像等待输入设备输出设备的过程,如果没有中断系统,CPU只能等待,造成资源 ...
- 从0开始学习 GITHUB 系列之「GIT 速成」【转】
本文转载自:http://stormzhang.com/github/2016/05/30/learn-github-from-zero3/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...
- Coursera SDN M1.2.1 SDN History: Programmable Networks 1
接上第二点 NOTE (2)active networks => Programmability in networks(1990s) Sturcture: What are active ne ...
- POJ 2486 Apple Tree(树形dp)
http://poj.org/problem?id=2486 题意: 有n个点,每个点有一个权值,从1出发,走k步,最多能获得多少权值.(每个点只能获得一次) 思路: 从1点开始,往下dfs,对于每个 ...
- 动画的使用—Drawable Animation
Drawable Animation可以称为帧动画,因为它是通过每次播放一帧Drawable资源实现的. Drawable Animation算不上真正意义上的动画,因为它的内部实现是通过定时发送消息 ...