介绍
介绍
今天我们来学习在java程序里面使用日期和时间的方法。这里面涉及到Calendar、Date、Timestamp几个对象,Calendar主要用来获得当前时间的种子再转换成其他格式;Date格式比较容易转换成数字,方便进行比较大小;Timestamp格式比较方便和字符串互转,在实体对象里用的比较广。
当前时间
获取当前时间
yyyy:4位数年份
MM:2位数月份
dd:2位数天数
HH:2位数小时
mm:2位数分数
ss:2位数秒数
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar calendar = Calendar.getInstance(); String sDate = simpleDateFormat.format(calendar.getTime());
获取时间戳
Calendar calendar = Calendar.getInstance(); Long timeUnix = calendar.getTimeInMillis();
常用函数
实现 date
打印当前时间的函数
private String date(String format){ SimpleDateFormat simpleDateFormat; Calendar calendar; String sDate; simpleDateFormat = new SimpleDateFormat(format); calendar = Calendar.getInstance(); sDate = simpleDateFormat.format(calendar.getTime()); return sDate; }
示例
String sDateNow = date("yyyy/MM/dd HH:mm:ss");
实现 dateAdd
打印从当前时间偏移一定量的时间的函数
field 来自 Calendar 的枚举
amount 可以是正整数,也可以是负整数,表示向前偏移还是向后偏移
private String dateAdd(String format, int field, int amount){ SimpleDateFormat simpleDateFormat; Calendar calendar; String sDate; simpleDateFormat = new SimpleDateFormat(format); calendar = Calendar.getInstance(); calendar.add(field, amount); sDate = simpleDateFormat.format(calendar.getTime()); return sDate; }
示例,昨天的这个时候
String sDateYesterday = dateAdd("yyyy/MM/dd HH:mm:ss", Calendar.DATE, -1);
示例,上一小时
String sDateLastHour = dateAdd("yyyy/MM/dd HH:mm:ss", Calendar.HOUR, -1);
示例,上一分钟
String sDateLastMinute = dateAdd("yyyy/MM/dd HH:mm:ss", Calendar.MINUTE, -1);
示例,上一秒钟
String sDateLastSecond = dateAdd("yyyy/MM/dd HH:mm:ss", Calendar.SECOND, -1);
示例,上个月的今天
String sDateLastMonth = dateAdd("yyyy/MM/dd HH:mm:ss", Calendar.MONTH, -1);
示例,去年的今天
String sDateLastYear = dateAdd("yyyy/MM/dd HH:mm:ss", Calendar.YEAR, -1);
实现 strtotime
通过一个时间的字符串得到一个Timestamp对象
对象转换
Date和Timestamp
Date转Timestamp
Date date = Calendar.getInstance().getTime(); Timestamp timestamp = new Timestamp(date.getTime());
Timestamp转Date
Timestamp timestamp = new Timestamp(Calendar.getInstance().getTime().getTime()); Date date = new Date(timestamp.getTime());
Date和String
Date转String
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = Calendar.getInstance().getTime(); String sDate = simpleDateFormat.format(date);
String转Date
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String sDate = "2020-11-19 12:12:12"; Date date = simpleDateFormat.parse(sDate);
Timestamp和String
Timestamp转String
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Timestamp timestamp = new Timestamp(Calendar.getInstance().getTime().getTime()); String sDate = simpleDateFormat.format(timestamp);
String转Timestamp
String sDate = "2020-11-19 12:12:12"; Timestamp timestamp = Timestamp.valueOf(sDate);
总结
今天我们将java里的常用日期时间处理的方法总结了一遍,大家可以收藏起来备用。