java.text.dateformat_使用java.text.SimpleDateFormat类进行文本日期和Date日期的转换
Date类内部既不存储年月日也不存储时分秒,而是存储一个从1970年1月1日0点0分0秒开始的毫秒数,而真正有用的年月日时分秒毫秒都是从这个毫秒数转化而来,这是它不容易被使用的地方,尤其是显示和存储的场合。但Date类的优势在于方便计算和比较。
另一点,日常生活中我们习惯用年月日时分秒这样的文本日期来表示时间,它方便显示和存储,也容易理解,但不容易计算和比较。
综上所述,我们在程序中进行日期时间处理时经常需要在在文本日期和Date类之间进行转换,为此我们需要借助java.text.SimpleDateFormat类来进行处理,下文列举了它的几个常用示例。
SimpleDateFormat函数的继承关系:
java.lang.Object
|
+----java.text.Format
|
+----java.text.DateFormat
|
+----java.text.SimpleDateFormat
1.将Date转化为常见的日期时间字符串这里我们需要用到java.text.SimpleDateFormat类的format方法,其中可以指定年月日时分秒的模式字符串格式。
Date date = new Date();
Format formatter = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
System.out.println("转化的时间等于="+formatter.format(date));
其中
yyyy表示四位数的年份
MM表示两位数的月份
dd表示两位数的日期
HH表示两位数的小时
mm表示两位数的分钟
ss表示两位数的秒钟
2.将文本日期转化为Date以方便比较
文本日期的优势在于便于记忆,容易处理,但缺点是不方便比较,这时我们需要借助SimpleDateFormat的parse方法得到Date对象再进行比较,实例如下:
String strDate1="2004年8月9日";
String strDate2="2004年10月5日";
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy年MM月dd日");
java.util.Date date1 = myFormatter.parse(strDate1);
java.util.Date date2 = myFormatter.parse(strDate2);
// Date比较能得出正确结果
if(date2.compareTo(date1)>0){
System.out.println(strDate2+">"+strDate1);
}
// 字符串比较得不出正确结果
if(strDate2.compareTo(strDate1)>0){
System.out.println(strDate2+">"+strDate1);
}
3.100天后的时间
// 当前时间
Date date = new Date();
SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd");
String str = formate.format(date);
System.out.println("当前时间:"+str);
Calendar c = Calendar.getInstance();
c.setTime(date);
// 100天后
c.add(Calendar.DAY_OF_MONTH, 100);
System.out.println("100天后时间:"+formate.format(c.getTime()));
SimpleDateFormat 类字段:
字母 日期或时间元素 表示 示例
G Era 标志符 Text AD
y 年 Year 1996; 96
M 年中的月份 Month July; Jul; 07
w 年中的周数 Number 27
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10
F 月份中的星期 Number 2
E 星期中的天数 Text Tuesday; Tue
a Am/pm 标记 Text PM
H 一天中的小时数(0-23) Number 0
k 一天中的小时数(1-24) Number 24
K am/pm 中的小时数(0-11) Number 0
h am/pm 中的小时数(1-12) Number 12
m 小时中的分钟数 Number 30
s 分钟中的秒数 Number 55
S 毫秒数 Number 978
z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
Z 时区 RFC 822 time zone -0800
java.text.dateformat_使用java.text.SimpleDateFormat类进行文本日期和Date日期的转换相关推荐
- Java计算时间差_传统的SimpleDateFormat类
Java计算时间差_传统的SimpleDateFormat类 SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd ...
- java查询日期类的表,JAVA菜鸟入门篇 - 时间处理相关类实例:打印该月日期表 (29)...
利用前面我们所学习有关时间处理类,Date.DateFormat.SimpleDateFormat以及Calendar和GregorianCalendar类 编写一个按照用户定义格式(格式:2015- ...
- 【Java】浅析SimpleDateFormat类
介绍SimpleDateFormat类 SimpleDateFormat类 :java.text.SimpleDateFormat 一个以与语言环境相关的方式来格式化和分析日期的具体类.是抽象类 ja ...
- Java日期格式化(DateFormat类和SimpleDateFormat类)
格式化日期表示将日期/时间格式转换为预先定义的日期/时间格式.例如将日期"Fri May 18 15:46:24 CST2016" 格式转换为 "2016-5-18 15 ...
- 6、日期格式化(DateFormat类和SimpleDateFormat类)
格式化日期表示将日期/时间格式转换为预先定义的日期/时间格式.例如将日期"Fri May 18 15:46:24 CST2016" 格式转换为 "2016-5-18 15 ...
- Java 获取 n个 工作日【前】或【后】的日期
Java 通过当前日期[时间值自定义],获取n个工作日[前]或[后]的日期 注:节假日要自己存储到数据库,存储形式自选 import org.apache.commons.lang.StringUti ...
- 正则表达式、常用类(Pattern类、Matcher类、Math类、System类、Random类、BigDecimal类、Date类、SimpleDateFormat类、Calendar类)
JAVA学习第十六天-正则表达式.常用类(Pattern类.Matcher类.Math类.System类.Random类.BigDecimal类.Date类.SimpleDateFormat类.Cal ...
- java 日期处理_JAVA 日期处理大全
1.获取服务器端当前日期: DatemyDate=newDate(); %> 2.获取当前年.月.日: DatemyDate=newDate(); int thisYear=myDate.get ...
- Date类(java.util)和SimpleDateFormat类(java.text)
在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取当前时间,我们来看下 Date 类的使用: 使用 Date 类的默 ...
最新文章
- Android Studio连接天天模拟器
- Android快速发布项目到jcenter详解
- shader 编程入门(一)
- 解决Eclipse中无法查看Java源码
- 1使用技巧_新版PubMed使用技巧1
- SQL2K数据库开发十四之表操作设置用户对表的权限
- Javascript 脚本错误.
- Linux权限管理命令
- atitit.判断时间重叠方法总结 java c++ c#.net js php
- html中使用js实现体彩大乐透随机选号
- 电脑没声音解决方法(重启/声卡设置/升级声卡驱动)
- MLX90614使用和组装的说明
- Android系统移植与调试之-------build.prop文件详细赏析
- 【控制篇 / 应用】(6.0) ❀ 01. 只允许使用 QQ 和微信 (上) ❀ FortiGate 防火墙
- php laravel 入门教程,Laravel 5 系列入门教程(一)【最适合中国人的 Laravel 教程】...
- input框如何设置框禁止输入
- 程序员必备小众又实用的网站,你知道几个?
- POI列子:替换文本框值
- Wasabi Technologies领导团队新增日本和澳大利亚业务高管,以支持整个亚太区对热云存储的需求
- linux无线网卡monitor模式,ubuntu下开启无线网卡的monitor mode
热门文章
- PC机I/O端口分配列表
- 神经网络粒子和物理粒子的一个本质差别
- 什么样 信号_深圳停止商务公寓用地审批释放着什么样的信号,会引起房价下跌吗...
- 4.7 CNN 特征可视化-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
- 基于stm32f107 stm32cube 和 LWIP 协议实现 udp 组播通信
- DFTug - Getting Started(上篇)
- 电机PID实验--一文让你看透PID​
- 利用SIMULINK搭建一个16QAM调制解调收发系统
- 利用FFT计算非平稳随机信号WVD分布
- 基于MATLAB的波速形成仿真