Java中的时间
来源:互联网 发布:信用卡淘宝退款 编辑:程序博客网 时间:2024/06/05 12:39
Date
java.util.date对象表示一个精确到毫秒的瞬间,但是在JDK1.0的时候就已经存在了,所以其中有很多的方法都已经过时了,如果贸然使用可能会出现性能/安全方面的问题,下面介绍几个剩下的为数不多的方法
- 构造器
Date()
:在底层调用System.currentTimeMillis()Date(long date)
:根据指定的long整数(从1970-1-1 00:00:00以来经过的毫秒数)来生成Date对象.- 方法
boolean before(Date time)
:返回传入时间是否在当前时间的前面boolean after(Date time)
:返回传入时间是否在当前时间的后面long getTime()
:返回从1970-1-1:00:00:00:0000到Date对象所经过的毫秒数void setTime(long time)
:设置时间,time和上面的含义相同
public class TestTime { public static void main(String[] args) { Date before = new Date(); Date after = new Date(System.currentTimeMillis() + 1); System.out.println("Before : " + before.getTime()); System.out.println("after : " + after.getTime()); System.out.println(before.before(after)); System.out.println(before.after(after)); before.setTime(System.currentTimeMillis()+5); System.out.println("before : " + before.getTime()); }}
Calendar
由于Date类存在缺陷,所以又设计了Calendar类来处理日期和时间Calendar是一个抽象类,是所有日历类的模板,所以加入我们要设计自己的日历(比如阴历)就可以继承Calendar类来实现。
- Calendar类还可以和Date类相互转换:
public class CalendarTest { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); Date time = calendar.getTime(); System.out.println(calendar); System.out.println(time.getTime()); System.out.println(calendar.get(Calendar.DATE)); }}
日期格式化
java.text.SimpleDateFormat可以灵活的格式化Date,也可以用于解析各种日期格式字符串,创建SimpleDateFormat对象的时候需要传入一个pattern字符串,这个字符串不是正则表达式的字符串,而是日期格式的模板字符串
SimpleDateFormat中最常用的方法
public class FormatTest { public static void main(String[] args) throws ParseException { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); System.out.println(sdf.format(date)); String timeString = "2017-08-30 10:12:12"; Date newDate = sdf.parse(timeString); System.out.println(newDate); }}
时间存储
将时间存入数据库的时候会涉及到不同时区的问题,因此在设计数据库表的时候可以将时间设置为BIGINT(64位),来存储从1970年1月1日0点的时间到现在的毫秒数
- 优点: 不同时区读出来的时间转换为日期格式的时候都是当前时区的日期
- 缺点: 数据库中查看时间的时候,只能看到一串数字
0 0
- JAVA中的时间操作
- java中的时间操作
- java中的时间操作
- java中的时间操作
- java中的时间操作
- java中的时间操作
- java中的时间操作
- JAVA中的时间操作
- java中的时间操作
- java中的时间操作
- java中的时间操作
- JAVA中的时间操作
- JAVA中的时间操作
- java中的时间处理
- java中的时间操作
- java中的时间操作
- JAVA中的时间操作
- java中的时间操作
- Maven(3):新建Java WebProject
- C语言测试
- Android服务端API仿真
- 基于windows服务监控tomcat服务,防止tomcat死掉
- C++ template高级
- Java中的时间
- 多线程下载文件
- Linux系统中添加库文件路径的方法
- Android:学习AIDL,这一篇文章就够了(下)
- HDU2187悼念512汶川大地震遇难同胞
- 双重检查锁定与延迟初始化
- oracle中flashback_on_standby详细介绍
- iOS检测耳机插入/拔出
- springMVC框架的文件上传