java基础:日期类、Math类

lzy 398 0

日期类

Java中,表达日期需要用到以下几个常用类

–java.util.Date(存在设计缺陷,目前已被Calendar类基本取代 )

–java.util.Calendar(表示日历的抽象类)

–java.text.DateFormat

Date类

获取当前日期:Date d = new Date();

设置日期:

d.setYear(81); 代表相距1900年81年,即1981

d.setMonth(9); 0代表一月,以此类推

–d.setDate(24); 表示24日

输出:

System.out.println(d);
//run:Sat OCT 01 10:02:45 CST 1981

Calendar类

获取当前时间

使用Calendar类的static方法getInstance()可以初始化一个日历对象,默认指向当前时间,如:
Calendar  c = Calendar.getInstance();

设定日期

set(int year,int month,int date) 或设置精确到秒:set(int year,int month, int date, int hour, int minute,int second)

这里的月份也是从0开始索引!!!!!

其他常用方法

int get(int field):可以获取有关年份、月份、小时、星期等信息,参数field的有效值由Calendar的静态常量指定,例如:c.get(Calendar.MONTH);

getTime():返回一个Date对象

getTimeInMillis():返回长整数,表示距离1970年1月1日零时零分零秒的毫秒数

compareTo(Calandar a):与另一日历日期比较:相等返回0;after a返回1;before a返回-1

Calendar c = Calendar.getInstance();
c.set(2021, 5, 7);

Calendar c1 = Calendar.getInstance();
c1.set(2030, 5, 7);

System.out.println((c1.getTimeInMillis()-c.getTimeInMillis())/(1000*60*60*24));//输出相距天数
/*
run:3287
*/

日期格式化

主要是通过SimpleDateFormat类的format(Date)方法,返回指定格式的字符串。

Date d = new Date();
d.setDate(7);
d.setMonth(6);
d.setYear(120);

SimpleDateFormat sdf = new SimpleDateFormat("大喊一声:yyyy年MM月dd日 HH:mm:ss奥里给!"); 

String s=sdf.format(d);
System.out.println(s);

Calendar c = Calendar.getInstance();
c.set(2021, 5, 7);

String s1=sdf.format(c.getTime());
System.out.println(s1);
run:
大喊一声:2020年07月07日 21:43:36奥里给!
大喊一声:2021年06月07日 21:43:36奥里给!

也可以使用String类的format方法

Date date = new Date();
String ss1 = String.format("%tF", date);
String ss2 = String.format("%tI:%<tM:%<tS", date);
System.out.print(ss1 + "\n" + ss2 + "\n");
run:
2020-03-31
09:49:45

Math类

Math类提供了很多静态方法用来进行数学运算,如:求平方根、绝对值、获取随机数等。

两个常量:

Math.E:2.718281828459045 Math.PI: 3.141592653589793

常用方法:(都是static静态方法,不需要实例化使用)

  • long abs(double a):求绝对值
  • double max(double a,double b) :求最大值
  • double min (double a,double b) :求最小值
  • double random():产生随机数
  • double pow(double a,double b):求a的b次幂
  • double sqrt(double a):求平方根
  • double log(double a):求对数
  • double sin(double a):求正弦值
  • double asin(double a):求反正弦值
  • ......

发表评论 取消回复
表情 图片 链接 代码

分享