常用类--Date日期类,SimpleDateFormat日期格式类,Calendar日历类,Math数学工具类,Random随机数类
Date日期类
Date表示特定的时间,精确到毫秒;
构造方法:
public Data()
public Date(long date)
常用方法:
public long getTime()
public void setTime(long time)
public Boolean before(Date when)
public Boolean after(Date when)
public int compareTo(Date anotherDate)
public String toString()
SimpleDateFormat日期格式类
DateFormat是日期/时间格式化,抽象类,它以与语言无关的方式格式化并分析日期或时间;
日期/时间格式化子类(如SimpleDateFormat)允许进行格式化(也就是日期->文本)、分析(文本->日期);
构造方法:
public SimpleDateFormat()
public SimpleDateFormat(String pattem)
常用方法:
public final String format(Date date)
public Date parse(String source)
import java.util.Date;
import java.text.DateFormat;
import java.util.Locale;
import java.text.SimpleDateFormat;
public class DateDemo{
public static void main(String []args){
Date date=new Date();
//输出默认格式
System.out.println(date);//Thu Mar 24 21:42:23 CST 2016
//返回自1970年1月1日以来的毫秒数
System.out.println(date.getTime());//1458826943206
//设置时间
date.setTime(1458826666666L);
System.out.println(date);//Thu Mar 24 21:37:46 CST 2016
System.out.println("--------------分割线--------------"); DateFormat df1=null;
DateFormat df2=null;
df1=DateFormat.getDateInstance();
df2=DateFormat.getDateTimeInstance();
System.out.println("Date:"+df1.format(date));//Date:2016-3-24
System.out.println("DateTime:"+df2.format(date));//DateTime:2016-3-24 21:37:46
System.out.println("--------------分割线--------------"); DateFormat df3=null;
df3=DateFormat.getDateInstance(DateFormat.FULL,new Locale("zh","CN"));
System.out.println("Date:"+df3.format(date));//Date:2016年3月24日 星期四
df3=DateFormat.getDateInstance(DateFormat.SHORT,new Locale("zh","CN"));
System.out.println("Date:"+df3.format(date));//Date:16-3-24
df3=DateFormat.getDateInstance(DateFormat.LONG,new Locale("zh","CN"));
System.out.println("Date:"+df3.format(date));//Date:2016年3月24日
System.out.println("--------------分割线--------------"); DateFormat df4=null;
df4=DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL,new Locale("zh","CN"));
System.out.println("Date:"+df4.format(date));//Date:2016年3月24日 星期四 下午09时37分46秒 CST
System.out.println("--------------分割线--------------"); String strDate="2016-03-24 21:30:36.456";
Date d=null;
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd日 HH-mm-ss.SSS");
try{
d=sdf1.parse(strDate);//把日期字符串中的日期部分抽取出来生成Date对象
}
catch(Exception ex){
}
System.out.println(d);//Thu Mar 24 21:30:36 CST 2016 String str=sdf2.format(d);//把日期按指定的模板格式格式化输出为字符串
System.out.println(str);//2016年03月24日 21-30-36.456
}
}
Calendar日历类
Calendar类是一个抽象类,为特定瞬间与一组诸如YEAR,MONTH,DAY_OF_MONTH,HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间1970年1月1日的00:00:00.000)的偏移量;
与其他语言环境敏感类一样,Calendar提供了一个类方法getInstance,以获得此类型的一个通用的对象。Calendar的getInstance方法返回了一个Calendar对象,其日历字段已由当前日期和时间初始化;
常用方法:
public static Calendar 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 day)
public Boolean before(Object when)
public Boolean after(Object when)
public int compareTo(Calendar anotherCalendar)
import java.util.Calendar;
public class CalendarDemo{
public static void main(String []args){
Calendar calendar=Calendar.getInstance();
//System.out.println(calendar);//返回了所有日期相关对象
System.out.println(calendar.get(Calendar.YEAR));//当前年
System.out.println(calendar.get(Calendar.MONTH)+1);//当前月,从0开始,所以要+1
System.out.println(calendar.get(Calendar.DATE));//当前日
System.out.println(calendar.get(Calendar.HOUR));//当前小时 12小时制
System.out.println(calendar.get(Calendar.HOUR_OF_DAY));//当前小时 24小时制
System.out.println(calendar.get(Calendar.MINUTE));//当前分
System.out.println(calendar.get(Calendar.SECOND));//当前秒 System.out.println("--------------分割线--------------");
System.out.println(calendar.getTimeInMillis()); calendar.set(Calendar.YEAR,2015);
//System.out.println(calendar);//YEAR变为2015
}
}
Math数学工具类
Math类包含用于执行基本数学运算的方法,如绝对值、对数、平方根和三角函数、它是一个final类,其中定义的都是一些常量和静态方法;
常用方法:
public static double sqrt(double a)
public static double ceil(double a)
public static double floor(double a)
public static double pow(double a,double b)
public static long round(double a)
public static int round (float a)
public static double random()
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 n)
public boolean nextBoolean()
public float nextFloat()
public double nextDouble()
import java.util.Random;
public class MathRandomDemo{
public static void main(String []args){
//返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数
System.out.println(Math.floor(10.55));//10.0
//返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。
System.out.println(Math.ceil(-10.55));//-10.0
//返回第一个参数的第二个参数次幂的值。
System.out.println(Math.pow(2,3));//8.0
//返回最接近参数的 int。(四舍五入)
System.out.println(Math.round(10.6));//11
//随机数 [0,1)
System.out.println(Math.random()); System.out.println("--------------分割线--------------"); //随机数
Random random=new Random();
System.out.println(random.nextInt());//产生一个整数(不同)
System.out.println(random.nextInt(5));//产生一个0-4之间的整数
System.out.println(random.nextBoolean());//boolean值
System.out.println(random.nextDouble());
System.out.println(random.nextFloat());
//带种子数的随机数
Random random2=new Random(10);
System.out.println(random2.nextInt());//产生一个整数(每次执行都相同) Random random3=new Random(System.currentTimeMillis());//获得毫秒数
System.out.println(random3.nextInt());
}
}
常用类--Date日期类,SimpleDateFormat日期格式类,Calendar日历类,Math数学工具类,Random随机数类的更多相关文章
- Python---基础---常用的内置模块(Github、P有charm、math数学模块和random随机数模块,做一些简单的练习)
2019-05-24 ----------------------------------
- 类:String,Math,DateTime,Random随机数,异常保护
String类: 练习: Math类: Random随机数: DateTime类: 异常保护: 练习: 1. 2. 3.方法一: 方法二: 4.人机大战石头剪刀布 5. //请输入你想输入的数字 // ...
- Java基础教程——Random随机数类
Random类 java.util.Random类用于产生随机数.需要导入包: import java.util.Random; 方法 解释 Random() 创建一个Random类对象 Random ...
- 2019.12.09 Random 随机数类
//导包import java.util.Random;class Demo02 { public static void main(String[] args) { //创建Random对象 Ran ...
- python常用标准库(math数学模块和random随机模块)
常用的标准库 数学模块 import math ceil -- 上取整 对一个数向上取整(进一法),取相邻最近的两个整数的最大值. import math res = math.ceil(4.1) p ...
- Java常用类Date相关知识
Date:类 Date 表示特定的瞬间,精确到毫秒. 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值.它也允许格式化和解析日期字符串. Dat ...
- Java 常用对象-Date类和Calender类
2017-11-02 22:29:34 Date类:类 Date 表示特定的瞬间,精确到毫秒. 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值 ...
- string、math类、random随机数、datetime、异常保护
今天讲的知识点比较多,比较杂,以至于现在脑子里还有点乱,慢慢来吧... string (1)string.length; (获得你string字符串的长度) (2)a = a.Trim(); 重新赋值 ...
- 2016年10月12日--string、Math类、Random随机数、DateTime、异常保护
string string.length; //得到string长度 string.Trim(); //去掉string前后的空格 string.TrimStart(); //去掉string前的空格 ...
随机推荐
- linux下杀毒工具clamav
ClamAV 杀毒是Linux平台最受欢迎的杀毒软件,ClamAV属于免费开源产品,支持多种平台,如:Linux/Unix.MAC OS X.Windows.OpenVMS.ClamAV是基于病毒扫描 ...
- jacvaSe-LinkedList
package com.java.chap08.sec02; import java.util.LinkedList; public class TestLinkedList { private st ...
- UVA 11997 K Smallest Sums (多路归并)
从包含k个整数的k个数组中各选一个求和,在所有的和中选最小的k个值. 思路是多路归并,对于两个长度为k的有序表按一定顺序选两个数字组成和,(B表已经有序)会形成n个有序表 A1+B1<=A1+B ...
- bzoj1037 [ZJOI2008]生日聚会
Description 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party. hidadz带着朋友们来到花园中,打算坐成一排玩游戏.为了游戏不至于无聊,就座的方案应满足如下条件: ...
- HTML 标签(一)
HTML HTML:超文本编辑语言(标签语言) 浏览器顺序渲染,从上到下,从左到右 是树型的 html格式 标签的属性是关键 meta标签 可提供有关页面的元信息 <meta charset=& ...
- MySQL内置函数:IP地址点分式与数字转换函数(INET_ATON/INET_NTOA)
前后转换,相比代码内部在进行移位简单太多了 SELECT INET_ATON('209.207.224.40'); SELECT INET_NTOA('578950');
- 【转】在MAC下使用ISO制作Linux的安装USB盘
http://www.linuxidc.com/Linux/2013-04/82973.htm 在Mac环境下,将Linux的ISO镜像生成一个Linux的安装盘,和Linux下差不多,只是Mac下有 ...
- atomic nonatomic区别
摘要 atomic和nonatomic区别用来决定编译器生成的getter和setter是否为原子操作.atomic提供多线程安全,是描述该变量是否支持多线程的同步访问,如果选择了atomic 那么就 ...
- CF-629 D - Babaei and Birthday Cake (离散化 + 线段树|树状数组)
求上升子序列的最大和.O(n^2)会暴力,在查询的时候要用线段树维护 因为权值是浮点数,故先离散化一下,设第 i 个位置的权值,从小到大排名为 id.那么dp转移中 \[d[i] = max(d[i] ...
- NOIP2018
非常糟糕.从未意识到过考场debuff这么严重. 果不其然,高档选手强如txc实力AK:而像我这样的中档选手就是重在考场发挥和自我调整了吧. 究竟要付出多少代价才能领会一个教训 看来要尝试更自闭一点