笔记总结Date、Calendar、SimpleDateFormat和DecimalFormat

以下内容转自java资源社区公众号:

https://mp.weixin.qq.com/s?__biz=MzI2NjE1OTMxMw==&mid=2247483777&idx=3&sn=ae102c7efdf2516961b6b623ecbe5aac&chksm=ea93143fdde49d299f6db526561ee9ed5e61afb69e70bc3ff81c81c5a19eced6fc89e3d703fa&mpshare=1&scene=1&srcid=1118DiGvkJwWOeRwGJNqxj4z#rd

||-----Date

类 Date 表示特定的瞬间,精确到毫秒。(即年月日时分秒) 

public classTest01 {

      public static void main(String[] args) {

//获取当前系统时间日期对象

Date date1 = new Date();

System.out.println("当前时间:"+date1);//Fri Jul 2802:15:22 CST 2017

 

// long  getTime()   功能:返回自 1970 年 1 月 1 日 00:00:00 到当前时间的毫秒数

long l = date1.getTime();

System.out.println(l);//1501179322396

 

//void  setTime(long time)

//注意:设置的时间为固定不走的时间(定时)

Date  date2 = new  Date();

date2.setTime(1501179322396L);//Fri Jul 28 02:15:22 CST 2017

System.out.println("设置的时间:"+date2);

     

/*

* boolean after(Date when)  功能:  测试此日期是否在指定日期之后

* date2设置时间:2017年7月28号 02:15:22

* date1当前时间:2017年7月28号 02:28:xx

*/

boolean bf1 =  date1.after(date2);

System.out.println("当前日期是否在设定的日期之后:"+bf1);//true

                     

/*

* boolean before(Date when)  功能:  测试此日期是否在指定日期之前

* date2设置时间:2017年7月28号 02:15:22

* date1当前时间:2017年7月28号 02:28:xx

*/

boolean bf2 =  date1.before(date2);      

System.out.println("当前日期是否在设定的日期之前:"+b2);//false

 

//注意:两个当前的瞬间没有可比性,即两个当前时间对象做比较

Date  date3 = new  Date();

Date  date4 = new  Date();

System.out.println(date3.after(date4));           

      }

}

 

 

||-----Calendar

   Calendar表示日历对象 

public class Test01{

      public static void main(String[] args) {

//第一步:获取日历对象

Calendar cd  =Calendar.getInstance();

System.out.println(cd);

                   

/*

 * 第二步:获取年月日。

 *  格式:Calendar.get(Calendar代表年月日的常量字段)

 */

 

//年

int year =cd.get(Calendar.YEAR);   

 

//月   注意:月份要加上一

int month =cd.get(Calendar.MONTH)+1;    

             

//日

int day =cd.get(Calendar.DAY_OF_MONTH); 

 

//周   注意:周要减一

int week =cd.get(Calendar.DAY_OF_WEEK)-1; 

 

//时   HOUR表示12小时制,HOUR_OF_DAY表示24小时制

 int hour = cd.get(Calendar.HOUR_OF_DAY);

 

//分

int min=cd.get(Calendar.MINUTE);

 

//秒

int sec=cd.get(Calendar.SECOND);

 

String time = year+"年"+month+"月"+day+"星期"+getWeeksStringNum(week)+"  "+hour+"时"+min+"分"+sec+"秒" ;

 

System.out.println(time);

      }

       

 //将获取周的数字转成中文的数字

//如:  1转成一    2转成二   3转成三。

privatestatic String getWeeksStringNum(int weeksIndex) {

StringweekStr[] = {"日","一","二","三","四","五","六"};

 return weekStr[weeksIndex];          

      }    

}

注意:只要是碰到周,月份的时候,一定要看看周日和一月是否是你要想要的值。

 

 

||----SimpleDateFormat是对时间日期处理的格式化工具类

1.将Date类型的时间日期转换为指定格式的String类型的时间日期

public classTest01 {

      public static void main(String[] args) {

//将Date类型的时间日期转换成指定格式的时间日期

Date date = new Date();

/*

 * 方式1:默认风格的时间日期

 */

     

//第一步:创建时间日期格式化工具对象

SimpleDateFormat sd1 = newSimpleDateFormat();

             

//第二步:转换

 String  strDate 1= sd1.format(date);

 System.out.println(strDate1);

 

/*

 * 方式2:指定风格的时间日期

 */

 

// 第一步:创建时间日期格式化工具对象并指定时间日期格式                          SimpleDateFormat sd2 = newSimpleDateFormat("yyyy年MM月dd日  HH时mm分ss秒");

             

//第二步:转换

String  strDate2 = sd2.format(date);

System.out.println(strDate2);

      }

}

             

2.将String类型的时间日期转换为指定格式的Date类型的时间日期

public classTest02 {

      public static void main(String[] args)throws ParseException  {

//字符串类型的时间日期

String strDate = "2019年10月11日";

             

//第一步:创建时间日期格式化工具类对象,并制定和字符串的时间日期格式一致

SimpleDateFormat sp = newSimpleDateFormat("yyyy年MM月dd日");

             

//第二步:转换

Date date = sp.parse(strDate);

System.out.println(date);    

      }

}

 

 

 

||----DecimalFormat是对数字处理的格式化工具类

1.基本数据类型的数字转换为指定格式的String类型数字

public classTest01 {

      public static void main(String[] args) {

        double numStr = 123.131;      

/*

* 第一步:创建数字格式化工具类对象,并制定格式数字格式

* 注意:数字格式#表示一个数字位

*  如:3,435,435美元

*  数字格式:###,###美元

*   如:3,43,54,35

*   数字格式:##,##

*  如:3,43,54,35.00

*  数字格式:##,##.00

*/

DecimalFormat df = newDecimalFormat("####,####.0美元");

             

/*

* 第二步:转换

* String format(Object number)

*/

String strnum = df.format(numStr);

System.out.println(strnum);      

      }

}

 

2.String类型的数字转换为指定的基本数据类型数字

public classTest02 {

      public static void main(String[] args)throws ParseException {

    String strNum ="1232.131$";

 

//第一步:创建数字格式化工具类对象

DecimalFormat df = newDecimalFormat();

             

 /*

* 第二步:将字符串的数字转换成Number类型的数字

* 注意:Number表示所有的数字

* Number:int,double,float,long

*/

Number num =df.parse(strNum);

             

/*

* 将Number类型转换成基本数字类型

*/

//转int

int i = num.intValue();

System.out.println(i);//1232

//转double

double d =  num.doubleValue();

System.out.println(d);//1232.131

//转float

float f =  num.floatValue();

System.out.println(f);//1232.131

      }

}

posted on 2017-11-18 10:11  傻瓜乐园  阅读(254)  评论(0)    收藏  举报

导航