Java 日期
日期 Date
涉及到的一些方法,语法
1 // 获取当前时间 2 Date now = new Date(); 3 4 // 获取 1970年 1月 1日 早上 8.00 的时间 5 Date ThatTime = new Date(0) 6 7 // 获取 当前时间从 1970 那时起到现在经历的毫秒数,两种方法 8 // 1. getTime() 方法,得到一个 long类型的整数 9 now.getTime() 10 11 // 2. System.currentTimeMillis()方法 12 System.currentTimeMillis() 13 14 // 设置时间, 假设设置时间为 2000年12月12日 08:08:55 15 Date setTime = new Date(2000, 12, 12 , 08, 08, 55)
日期与字符串间的关系
SimpleDateFormat 为 日期格式化类
- Y 代表年
- M 代表月
- d 代表日
- H 代表24进制的小时
- h 代表12进制的小时
- m 代表分钟
- s 代表秒
- S 代表毫秒
下面这个函数可以将日期格式化成字符串
1 public String Format(Date date){ 2 SimpleDateFormat sdf = new SimpleDateFormat(""yyyy-MM-dd HH:mm:ss SSS""); 3 return sdf.format(date); 4 }
那么 字符串转换为日期呢,则需要字符串的格式与格式化字符串中的格式大体相同,例如对上述代码
try{ String str = "2016-12-12 05:55:32 321"; Date ds = sdf.parse(str); System.out.println("转换为" + sdf.format(ds)); } catch (ParseException e){ e.printStackTrace(); }
且,这里必须得用 异常处理
随机时间日期的书写
1 // 一般先设置时间,然后加上相应时间的秒数即可 2 Date setTime = new Date((long)(startTime.getTime() + Math.random() * 365 * 30 * 24 * 60 * 60 *1000)) 3 4 // 假定这里是30年内,且 必须 乘 1000,这里是以毫秒计算的
日历 Calendar
1 // 采用单例模式获取日历对象 Calendar.getInstance() 2 Calendar c = Calendar.getInstance(); 3 // 通过日历对象获取日期对象 4 Date d = c.getTime(); 5 6 // 翻日历 7 // add 方法 在原日期上增加年 / 月 / 日 8 // set 方法 直接设置 年 / 月 / 日 9 c.add(Calendar.MONDAY, 1);
其转换字符串格式 与 Date 一样,也是通过 Format 函数即可