Java常用类的使用
Date日期类
Date 表示特定的时间,精确到毫秒
构造方法:
public Date()
pulic Date(long date)//参数为时间戳值
常用方法
public long getTime()//获取时间戳值
public long setTime(long time)//设置时间
public boolean before(Date when)//判断日期是否在指定日期之前
public boolean after(Date when)//判断日期是否在指定日期之后
public int compareTo(Date anotherDate)//比较,返回值有负数,0,正数
public String toString()
DateFormat日期格式化类
DateFormat是日期/时间格式化抽象类,它以与语言无关的方式格式化并分析日期或时间
日期/时间格式化子类(如SimpleDateFormat)允许进行格式化(日期转化为字符串,字符串转化为日期)
SimpleDateFormat构造方法
public SimpleDateFormat()
public SimpleDateFormat(String pattern)
常用方法
public final String format(Date date)
public Date parse(String source)
Calendar日历类
Calendar类是一个抽象类,为特定瞬间与一组诸如YEAR/MONTH/DAY_OF_MONTH/HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法。瞬间可用毫秒值来表示,它是距历元(标准时间1970年1月1日0点0时0分0秒0毫秒的偏移量)
与其他语言敏感类一样,Calendar提供了一个类方法getInstance,以获得此类型一个通用的对象。Calendar的getInstance方法返回一个Calendar对象,其日历字段已由当前日期和时间初始化
常用方法
public static Canlendar getInstance()
public final Date getTime()//返回时间
public final void setTime(Date date)
public int get(int field)//获取年、月、日等
public final void set(int year,int month,int date)
public void set(int field, int value)
public boolean before(Object when)
public boolean after(Object when)
public int compareTo(Calendar anotherCalendar)
demo:
import java.util.Date; import java.text.DateFormat; import java.util.Locale; import java.text.SimpleDateFormat; import java.util.Calendar; public class DateDemo { public static void main(String[] args){ dateTest(); calendarTest(); } public static void dateTest(){ System.out.println("____________date使用______________"); Date date=new Date(); System.out.println(date); System.out.println(date.getTime());//offset minisecond date.setTime(1544100330073L); System.out.println(date); DateFormat df1=DateFormat.getDateInstance(); DateFormat df2=DateFormat.getDateTimeInstance(); System.out.println("date:"+df1.format(date));//yyyy-MM-dd System.out.println("datetime:"+df2.format(date));//yyyy-MM-dd HH:mm:ss DateFormat df3=DateFormat.getDateInstance(DateFormat.LONG,new Locale("zh","CN")); System.out.println("date:"+df3.format(date)); DateFormat df4=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG,new Locale("zh","CN")); System.out.println("datetime:"+df4.format(date)); //SimpleDateFormat String strDate="2018-09-01 10:53:01.333"; Date d=null; SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");//解析格式 SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//输出格式 try{ d = sdf.parse(strDate); } catch(Exception ex){ } System.out.println("SimpleDateFormat:"+sdf2.format(d)); System.out.println(); } public static void calendarTest(){ System.out.println("____________Calendar使用______________"); Calendar calendar = Calendar.getInstance(); System.out.println(calendar); //月从0开始,真实月份要加1 int month = calendar.get(Calendar.MONTH)+1; System.out.println(calendar.get(Calendar.YEAR) + "-" + month+"-"+calendar.get(Calendar.DATE)); System.out.println(calendar.get(Calendar.HOUR_OF_DAY)); System.out.println(calendar.get(Calendar.MINUTE)); System.out.println(calendar.get(Calendar.SECOND)); calendar.set(Calendar.YEAR,2017);//修改年份 month = calendar.get(Calendar.MONTH)+1; System.out.println(calendar.get(Calendar.YEAR) + "-" + month+"-"+calendar.get(Calendar.DATE)); } }
效果:
Java常用类的使用
Math数学工具类
Math类包含用于执行基本数学去处的方法,如绝对值、对数、平方根和三角函数。它是一个final类,其中定义的都是一些常量和静态方法
常用方法:
public static double sqrt(double d)//平方根
public static double ceil(double d)//比d大的第一个整数
public static double floor(double d)//比d小的第一个整数
public static double pow(double a,double b)//计算a的b次方
public static long round(double a)//四舍五入
public static int round(float a)//四舍五入
public static double random()//产生随机数,区间[0,1)
Random随机数类
Java中有三种产生随机数的方法
通过System.currentTimeMillis()来获取一个当前时间毫秒数的long类型数字
通过Math.random()返回一个0到1之间的double值
通过Random类来产生一个随机数,这是专业的Random工具类,功能强大
Random类中实现随机算法是伪随机,即有规则的随机,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。相同种子数的Random对象,相同次数生成的随机数字相同
构造方法
public Random()
public Random(long seed)
常用方法
public void nextBytes(byte[] bytes)
public int nextInt()
public int nextInt(int max)
public boolean nextBoolean()
public float nextFloat()
public double nextDouble()
public long nextLong()
demo:
import java.util.Random; public class MathRandomDemo { public static void main(String[] args){ System.out.println(Math.ceil(10.35));//向上取整 System.out.println(Math.floor(10.55));//向下取整 System.out.println(Math.pow(2,3));//2的3次方 System.out.println(Math.round(10.6));//四舍五入 System.out.println(Math.random());//随机数 System.out.println(); //如果给了固定种子,每固定次数生成的随机数都一样 //System.currentTimeMillis() Random random = new Random(System.currentTimeMillis()); System.out.println(random.nextInt()); System.out.println(random.nextInt(100));//产生100内的随机数 System.out.println(random.nextDouble()); } public static void dateTest(){ //System.out.println("____________date使用______________"); } }
效果: