Java常用类库2

1、java.util.Date类

package LESSON9;
import java.util.Date;
public class demo1 {
    public static void main(String[] args) {
        Date date=new Date();
        System.out.println(date);
//大部分方法已过时(了解) System.out.println(date.toLocaleString());
//以当前语言环境显示时间。 System.out.println(date.getYear()+1900); System.out.println(date.getMonth()+1); System.out.println(date.getDate()+"日"); System.out.println("星期"+date.getDay()); System.out.println(date.getHours()); System.out.println(date.getMinutes()); System.out.println(date.getSeconds());

     System.out.println(date.getTime());//返回1970-1-1 00:00:00的毫秒数

    //使用有参构造器创建Date对象
        //1970-1-1 00:00:00世界基准时间,格林尼治(格林威治)时间
        Date date2=new Date(2000);
        System.out.println(date2);
        System.out.println(date2.getTime()); } }

2、java.util.Calendar类

java.util.Date类中获取当前年、月、日和将时间格式化以及将字符串类型的日期转换为Date对象的方法都已经被废弃。
如果想要获取Date对象的年、月、日、星期等操作,需要使用Calendar类以及其子类完成。
Calendar是一个抽象类,它为获取和修改年、月、日、星期等日历字段提供了一系列的方法。

package LESSON9;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class demo2 {    
    public static void main(String[] args) {
        Calendar c=Calendar.getInstance();//Calendar是一个抽象类,不能实例化
        System.out.println(c.get(Calendar.YEAR)+"年");//字段satic修饰,类名.字段直接调用
        System.out.println(c.get(Calendar.MONTH)+1+"月");//get(int field)返回给定日历字段的值
        System.out.println(c.get(Calendar.DATE)+"日");
        System.out.println(c.get(Calendar.HOUR_OF_DAY)+"时");//24小时制。HOUR 12小时制
        System.out.println(c.get(Calendar.MINUTE)+"分");
        System.out.println(c.get(Calendar.SECOND)+"秒");
        System.out.println("星期"+(c.get(Calendar.DAY_OF_WEEK)-1));
        System.out.println(c.get(Calendar.DAY_OF_YEAR));
        System.out.println(c.get(Calendar.WEEK_OF_YEAR));
        for(int i=1900;i<2020;i++){//自定义判断是否闰年的方法
            if((i%4==0&&i%100!=0)||i%400==0){
                System.out.print(i+"\t");                
            }            
        }
        System.out.println();
        GregorianCalendar gre=new GregorianCalendar();//GregorianCalendar是Calendar的一个直接子类
        for(int i=1900;i<2020;i++){
            if(gre.isLeapYear(i)){//判断指定年份是不是闰年
                System.out.print(i+"\t");                
            }            
        }
    }
}

3、java.text.SimpleDateFormat
    常用方法
    String format(Date date);将一个java.util.Date对象按照指定的模式格式化为日期
    Date parse(String date);将一个日期字符串按照指定模式解析为 java.util.Date类型的对象

package LESSON9;
import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class demo3 {    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Date date=new Date();
        System.out.println(date);
        
        //格式化时间日期
        SimpleDateFormat sdf=new SimpleDateFormat();//默认模式格式化时间
        String time=sdf.format(date);
System.out.println(time);//format()将给定的 Date 格式化为日期/时间字符串,并将结果添加到给定的 StringBuffer。 SimpleDateFormat sdft=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E");//指定模式格式化时间 System.out.println(sdft.format(date)); //H一天中的小时数(0-23) h am/pm 中的小时数(1-12) E星期中的天数
//获取前台数据 String time
="2019/06/05 22:22:22";
     //解析字符串时,模式一定要匹配,否则会报parseException(解析异常) SimpleDateFormat sdf2
=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); try { Date d = sdf2.parse(time);// parse()解析字符串的文本,生成 Date。 System.out.println(d); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); }// 解析字符串的文本,生成 Date。 } }

4、java.text.DecimalFormat
   DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。
   常用方法
    String format(double d);格式化数字为字符串
    Number parse(String str);解析字符串数字为Number对象。

    抽象类 NumberBigDecimalBigIntegerByteDoubleFloatIntegerLongShort 类的超类。

     doubleValue()以 double 形式返回指定的数值。intValue() 以 int 形式返回指定的数值。等

package LESSON9;
import java.text.DecimalFormat;
import java.text.ParseException;
public class demo4 {    
    public static void main(String[] args) {
        //格式化数字
        DecimalFormat df1=new DecimalFormat();//默认模式
        double money=1120000.546;
        System.out.println(df1.format(money));
        
        DecimalFormat df2=new DecimalFormat("##,##.00");//指定模式
        System.out.println(df2.format(money));
        
        String str="9978145.256";
        DecimalFormat df3=new DecimalFormat("#,##.00");
        try {
            Double num=(df3.parse(str)).doubleValue();//只解析,不格式化。
            System.out.println(num);
            System.out.println(df3.format(num));
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }                        
    }
}

 5、常用类库总结

Character类中的字段和方法大多采用static修饰,不用创建对象就可直接调用。

Math类中的字段和方法都使用static修饰,可以类名. 直接调用。

Calendar是一个抽象类,不能实例化,Calendar c=Calendar.getInstance()。Calendar字段大多采用static修饰。

posted @ 2019-06-05 20:25  勤奋的园  阅读(205)  评论(0编辑  收藏  举报