Junior_Java
我相信每天学一点,总有一天你会从学生变为教习

source:http://blog.java1234.com/index.html?typeId=1

 

Java日期处理类

Date类是jdk给我们提高的标准日期类,在java.util包下;

Date date=new Date();

System.out.println("当前日期:"+date);
 
Calendar是日历类,也是java.util包下的,功能比较强大,能获取到年月日时分秒的具体值;
public static void main(String[] args) {
        Calendar calendar=Calendar.getInstance();
        System.out.println(calendar.get(Calendar.YEAR));
        System.out.println(calendar.get(Calendar.MONTH)+1); // 月份从0开始 要+1
         
        System.out.println("现在是:"+calendar.get(Calendar.YEAR)+"年"
                +(calendar.get(Calendar.MONTH)+1)+"月"
                +calendar.get(Calendar.DAY_OF_MONTH)+"日"
                +calendar.get(Calendar.HOUR_OF_DAY)+"时"
                +calendar.get(Calendar.MINUTE)+"分"
                +calendar.get(Calendar.SECOND)+"秒");
}

SimpleDateFormat类主要是用作日期类型转换用的,在java.text包下;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
 
public class TestSimpleDateFormat {
 
    /**
     * 将日期对象格式化为指定格式的日期字符串
     * @param date 传入的日期对象
     * @param format 格式
     * @return
     */
    public static String formatDate(Date date,String format){
        String result="";
        SimpleDateFormat sdf=new SimpleDateFormat(format);
        if(date!=null){
            result=sdf.format(date);
        }
        return result;
    }
     
    /**
     * 将日期字符串转换成一个日期对象 
     * @param dateStr 日期字符串
     * @param format 格式
     * @return
     * @throws ParseException 
     */
    public static Date formatDate(String dateStr,String format) throws ParseException{
        SimpleDateFormat sdf=new SimpleDateFormat(format);
        return sdf.parse(dateStr);
    }
     
    public static void main(String[] args) throws ParseException {
        Date date=new Date();
         
        System.out.println(formatDate(date,"yyyy-MM-dd"));
        System.out.println(formatDate(date,"yyyy-MM-dd HH:mm:ss"));
        System.out.println(formatDate(date,"yyyy年MM月dd日HH时mm分ss秒"));
         
        String dataStr="1989-11-02 18:01:41";
        Date date2=formatDate(dataStr,"yyyy-MM-dd HH:mm:ss");
        System.out.println(formatDate(date2,"yyyy-MM-dd HH:mm:ss"));
    }
}
//用Calendar获取今天是星期几

import java.util.Calendar;

public class Test {
 
    public static void main(String[] args) {
        String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
        Calendar calendar=Calendar.getInstance();
        System.out.println("今天是"+weekDays[calendar.get(Calendar.DAY_OF_WEEK)-1]);
    }
}

String VS StringBuffer

String:对String类型的对象操作,等同于重新生成一个新对象,然后讲引用指向它;

StringBuffer:对StringBuffer类型的对象操作,操作的始终是同一个对象;

public class TestString {
 
    public static void main(String[] args) {
        String str="123";
        str+="abc";
        System.out.println(str);
    }
}

运行输出:

123abc

 

str原先指向的是123 通过+= 重新指向了123abc;

StringBuffer:

public class TestStringBuffer {
 
    public static void main(String[] args) {
        StringBuffer sb=new StringBuffer("123");
        sb.append("abc");
        System.out.println(sb.toString());
    }
}

运行输出:

123abc

StringBuffer里始终是一个对象;

 总结下:假如定义的字符串内容基本不变或者很少变化,用String效率高;假如定义的字符串内容经常变动,要用StringBuffer;

Math类

Math类是一个数学工具类方法,里面有很多静态工具方法;方便开发者直接调用;

这里举例,具体的可以查看api文档;

1,max方法 求最大值;

2,min方法 求最小值;

3,round方法 四舍五入;

4,pow方法 求次幂;

Arrays类

Arrays类主要是封装了很多操作数组的工具方法,方便开发者直接调用;

这里列举一些常用的;

1,toString()方法 返回指定数组内容的字符串表示形式;

2,sort()方法 对指定的类型数组按数字升序进行排序;

3,binarySearch()方法 使用二分搜索法来搜索指定类型数组,以获取指定值;

4,fill()方法,将指定类型值分配给指定类型数组的每个元素;

public static void main(String[] args) {
        int arr[]={1,7,3,8,2};
        System.out.println(arr);
        System.out.println("以字符串形式输出数组:"+Arrays.toString(arr));
        Arrays.sort(arr); // 给数组排序
        System.out.println("排序后的数组:"+Arrays.toString(arr));
        System.out.println(Arrays.binarySearch(arr, 1));
        Arrays.fill(arr, 0); // 将指定内容填充到数组中
        System.out.println("填充数组后的字符串:"+Arrays.toString(arr));
}

 

 

 

 

posted on 2019-01-28 13:29  kerwinchiu  阅读(187)  评论(0编辑  收藏  举报