- /*
- * 其他API类:RunTime类
- * Runtime:
- * 1)没有构造方法摘要,说明该类不可以创建对象。
- * 2)又发现还有非静态方法,说明该类应该提供静态的返回类对象的放啊发。
- * 3)而且只有一个,说明Runtime类使用了单例设计模式。
- * 何为单例设计模式:
- * 保证一个类在使用过程中,只有一个实例。优势就是他的作用,这个类永远只有一个实例。
- * 步骤: 1. 将该类的构造方式私有;
- 2. 在内部实例化一个该类的实例;
- 3. 提供接口给外部访问。
- public class OtherClass {
- private OtherClass (){}; // 1.
- private static OtherClass mInstance = new OtherClass(); // 2.
- public static OtherClass getInstance(){ // 3.
- return mInstance;
- }
- }
- */
- /*
- * 其他API类:Math类
- * Math:提供了操作数学运算的方法。都是静态的。
- * 常用的方法有:
- * ceil():返回大于参数的最小整数
- * follr():返回小于参数的最大整数。
- * round():返回四舍五入的整数。
- * Random():随机数。
- */
- /*
- * 其他API类:Date类
- * 在Date类所有可以接受或返回年、月、日期、小时、分钟和秒值的方法中,将使用下面的表示形式:
- * 1)年份y由整数y-1900表示。
- * 2)月份有0-11的整数表示:0表示一月,1是二月等等,因此11是十二月。
- * 3)小时由从0-23的整数表示。因此,从午夜到1am的时间时0点。从中午到1pm的时间是12点。
- * 4)分钟通常方式由0-59的整数表示。
- * 5)秒由0-61的整数表示,值60和61只对闰秒发生,尽管那样,也只用实际正确跟踪闰秒的java实现中。
- * 于按当前引入闰秒的方式,两个闰秒在同一分钟内发生是极不可能的,单此规范遵循ISOC的日期和时间约定。
- *
- * 必须掌握:
- * public static void main(String[] args){
- //获取当时间的毫秒值
- long time = System.currentTimeMillis();
- //将当前时间和日期封装成Date的对象
- Date date = new Date();
- System.out.println(time);
- System.out.println(date);
- }
- */
- /*
- * 日期对象和毫秒之间的转换
- * 毫秒值-->日期对象
- * 1)通过Date对象的构造方法new Date(timeMillis);
- * 2)还可以通过SetTime设置
- * 转换设置的目的:
- * 因为可以通过Date对象的方法对该日期中的各字段(年月日等)进行操作。
- * 日期对象-->毫秒值
- * 1)可以通过getTime方法
- * 转换目的:
- * 因为可以通过具体的数值进行计算。
- * //对日期对象进行格式化
- public static void methodDemo(){
- Date date = new Date();
- //获取日期格式对象,具体默认的风格。Full,Long等可以指定的风格。
- DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG);
- String str_date = dateFormat.format(date);
- System.out.println(str_date);
- }
- */
- /*
- * 需求:2012-12-12到2018-1-30中间有多少天?
- * 思路:
- * 1)连个日期相减即可。
- * 2)如何减?必须要有两个可以进行减法运算的数。能进行相减的操作是毫秒值。毫秒值的获取可以通过Date对象。
- * 如何获取date对象呢?可以将字符串转成date对象。
- * 分析:
- * 1)将日期格式的字符串转成Date对象。
- * 2)将Date对象转成毫秒值。
- * 3)相减,再变成天数。
- */
- public class OtherClass{
- public static void main(String[] args) throws ParseException{
- String str_date1 = "2012-12-12";
- String str_date2 = "2018-1-30";
- subtraction(str_date1,str_date2);
- }
- public static void subtraction(String str_date1, String str_date2) throws ParseException {
- //1,将日期字符串转成日期对象
- DateFormat dateFormat = DateFormat.getDateInstance();
- Date date1 = dateFormat.parse(str_date1);
- Date date2 = dateFormat.parse(str_date2);
- System.out.println(date2);
- //将date对象值换成毫秒值
- long time1 = date1.getTime();
- long time2 = date2.getTime();
- long time = Math.abs(time1-time2);
- int day = getDay(time);
- System.out.println(day);
- }
- public static int getDay(long time) {
- int day = (int) (time/1000/3600/24);
- return day;
- }
- }
- Tue Jan 30 00:00:00 CST 2018
- 1875