Java 时间
Posted 守林鸟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 时间相关的知识,希望对你有一定的参考价值。
1.Date类
Date()://每new一个对象就能获取当前时间,但格式是乱七八糟的那种,用toString()输出
Date(long millisec);//接收一个参数,该参数是从1970年1月1日起的毫秒数。
boolean after(Date date);//判断是否在指定日期之后
boolean before(Date date);//判断是否在指定日期之前
Object clone();//返回此对象的副本
long getTime();//返回自1970年1月1日00:00:00 GMT以来此Date对象表示的毫秒数。
String toString();//转换为以下形式的String:dow mon dd hh:mm:ss zzz yyyy;dow是星期缩写
2.SimpleDateFormat类
SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");//构造函数规定一种格式来显示日期,可以掐头去尾,HH是24小时制,换成hh是12小时制,-可以改成.或者/
String format(Date date);//将日期转化为构造函数规定的格式
Date parse(String string);//把日期格式的String转化为Date型,如果日期不合法,例如2月没有29天的年份,会直接跳过变成3月1日。
3.对多个时间排序
可以用ArrayList存储,再通过Comparator排序。
package my_test; import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.Scanner; public class TestTime { public static void main(String[] args) throws ParseException { Scanner scan=new Scanner(System.in); String s1="2007/03/04"; String s2="2002/06/07"; String s3="2016/05/09"; String s4="2015/06/06"; //转化为Date SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd"); Date d1=sdf.parse(s1); Date d2=sdf.parse(s2); Date d3=sdf.parse(s3); Date d4=sdf.parse(s4); ArrayList<Date> list=new ArrayList<Date>(); list.add(d1); list.add(d2); list.add(d3); list.add(d4); for(int i=0;i<list.size();i++) System.out.println(sdf.format(list.get(i))); System.out.println("........排序后..........."); Comparator<Date> comparator=new Comparator<Date>() { public int compare(Date d1,Date d2) {//按从早到晚排序 if(d1.before(d2)) return -1;//d1比d2早,符合排序规则返回负数 else return 1; } }; Collections.sort(list,comparator); for(int i=0;i<list.size();i++) System.out.println(sdf.format(list.get(i))); } }
以上是关于Java 时间的主要内容,如果未能解决你的问题,请参考以下文章
LockSupport.java 中的 FIFO 互斥代码片段