Java日期处理类
来源:互联网 发布:232数据盒rs-100 编辑:程序博客网 时间:2024/05/23 00:25
导语
最重要的就是使用SimpleDateFormat类进行日期格式的转换。
主要内容
- Date类的使用
- SimpleDateFormat类的使用
- Calendar类的使用
具体内容
Date类
在之前一直在编写简单Java类,但是所编写的数据表与简单Java类的转换里面缺少了Date数据类型,所以本部分就属于简单Java类的最后的拼版。
在Java里面提供有一个java.util.Date的类,它直接就表示当前的日期时间。
范例:取得当前的日期时间
import java.util.Date;public class TestDemo { public static void main(String args[]) { Date date = new Date(); System.out.println(date); // 输出对象信息 }}
输出结果
Sat Sep 30 22:26:23 CST 2017
这个时候的确输出了当前的日期时间,只不过这个格式实在是难看。
一直以来强调过一个概念:long可以描述出日期时间数据,那么这一点在Date类的方法上也是可以看见的,在Date类里面定义了如下的几个重要方法:
- 无参构造:public Date()。
- 有参构造:public Date(long date)。
- 转换为long型:public long getTime()。
**范例:**Date与long之间转换
public class TestDemo { public static void main(String args[]) { long cur = System.currentTimeMillis(); Date date = new Date(cur); System.out.println(date); System.out.println(date.getTime()); }}
输出结果
Sat Sep 30 22:36:23 CST 20171506782205
以后的代码编写过程之中,依然需要以上的转换操作,尤其是getTime()方法。
日期格式化:SimpleDateFormat
java.text是一个专门实现国际化程序的开发包,而SimpleDateFormat是一个专门处理格式化日期的工具类,可以将Date型的对象转换为String型的形式显示。而主要使用的是以下方法:
- 构造方法:public SimpleDateFormat(String pattem),需要传递转换格式。
- 将Date转换为String:public final String format(Date date)。
- 将String转换为Date:public Date parse(String source) throws ParseException。
现在的关键就在于转换格式上,对于常见的转换单位:年(yyyy)、月(MM)、日(dd)、时(HH)、分(mm)、秒(ss)、毫秒(SSS)。
范例:将日期格式化显示(Date型数据变为String型数据)
import java.text.SimpleDateFormat;import java.util.Date;public class TestDemo { public static void main(String args[]) { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); String str = sdf.format(date); // 将Date型变为了String型 System.out.println(str); }}
输出结果
2017-09-30 22:50:29.312
除了可以将日期变为字符串之外,也可以将字符串转换为日期。
范例:将字符串转换为日期
public class TestDemo { public static void main(String args[]) throws Exception { String str = "2011-11-11 11:11:11.111"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); Date date = sdf.parse(str); // 将字符串变为日期型数据 System.out.println(date); }}
输出结果
Fri Nov 11 11:11:11 CST 2011
在将字符串变为日期型数据的时候,如果日期型数据给出的月不对,那么会自动进行进位。如果给定的字符串与要转换的格式不符合,那么就会出现异常。
Calendar类
Date类和SimpleDate类两个往往是一起使用的,但是Calendar这个类主要是进行一些简单的日期计算的。
Calender类定义:
public abstract class Calendar extends Object implements Serializable, Cloneable, Comparable<Calendar>
这是一个抽象类,那么应该依靠子类进行对象的实例化操作。但是在这个类里面它提供有一个static方法,此方法返回的正是本类对象:public static Calendar getInstance()。
范例:取得当前日期时间
import java.util.Calendar;public class TestDemo { public static void main(String args[]) { Calendar cal = Calendar.getInstance(); // 取得本类对象 StringBuffer buf = new StringBuffer(); buf.append(cal.get(Calendar.YEAR)).append("-"); buf.append(cal.get(Calendar.MONTH) + 1).append("-"); // 这个从0开始算 buf.append(cal.get(Calendar.DAY_OF_MONTH)).append(" "); buf.append(cal.get(Calendar. HOUR_OF_DAY)).append(":"); buf.append(cal.get(Calendar.MINUTE)).append(":"); buf.append(cal.get(Calendar.SECOND)); System.out.println(buf); }}
输出结果
2017-9-30 23:9:4
但是这个类在取得的时候可以进行一些简单的计算,例如:若干天后的日期,三天后的日期。
修改代码
import java.util.Calendar;public class TestDemo { public static void main(String args[]) { Calendar cal = Calendar.getInstance(); // 取得本类对象 StringBuffer buf = new StringBuffer(); buf.append(cal.get(Calendar.YEAR)).append("-"); buf.append(cal.get(Calendar.MONTH) + 1).append("-"); // 这个从0开始算 buf.append(cal.get(Calendar.DAY_OF_MONTH) + 3).append(" "); buf.append(cal.get(Calendar. HOUR_OF_DAY)).append(":"); buf.append(cal.get(Calendar.MINUTE)).append(":"); buf.append(cal.get(Calendar.SECOND)); System.out.println(buf); }}
输出结果
2017-10-3 23:12:8
如果是日期计算,要比Date容易,如果使用Date要进行天的计算,那么就需要使用long完成了。
总结
- 以后数据库中的日期型就使用java.uitl.Date表示。
- 代码模型:SimpleDateFormat类实现String与Date间的互相转换。
进入我的CSDN戳这里(我的博客导航)
- java日期类处理
- java日期处理类
- java日期处理类
- Java日期处理类
- java日期处理通用类
- java 写日期处理类
- java日期处理工具类
- java日期处理类总结
- java日期处理工具类
- java日期处理类总结
- java中的日期处理类
- JAVA Calendar类 处理日期
- java日期处理工具类
- java处理日期的类
- 日期处理类-DateUtils.java
- java日期处理工具类
- Java常用类--处理日期
- java的日期处理类
- java虚拟机(jvm)
- Java对象克隆、了解标识接口
- jq 中^表示字符串的开始
- Java数字操作类
- 算法复杂性
- Java日期处理类
- 存储过程实现分页
- [CodeForces
- Ctrl+滚轮 禁止页面缩放
- Java比较器
- Linux 入门 -- root boot
- Java正则表达式
- Java反射机制
- Android WebView用法