码迷,mamicode.com
首页 > 编程语言 > 详细

Java 时间

时间:2020-02-09 22:08:12      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:class   没有   object c   ring   compare   none   sim   can   format   

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 时间

标签:class   没有   object c   ring   compare   none   sim   can   format   

原文地址:https://www.cnblogs.com/shoulinniao/p/12288216.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!