黑马程序员技术交流社区

标题: Date类和封装类 [打印本页]

作者: zjj5669436182    时间: 2017-12-12 21:53
标题: Date类和封装类
Date类和封装类
作者:一衡
    今日学习的内容以记忆和练习为主,以操作时间相关的多一些,需要多多练习。
一、Date
1、Date类的概述
Date: 表示特定的瞬间,精确到毫秒,他可以通过方法来设定自己所表示的时间,可以表示任意的时间。
2、Date类的构造方法
   Date();创建一个表示当前系统的时间的Date对象。
Date d = new Date();(获取的是以1970-1-100分的毫秒时间)
       Datelong date);根据制定时间创建一个Date对象。
long  s =  System.System.currentTimeMillis();(获取一个当前系统的时间)
3、Date的常用方法
设置
void setTimelong time
毫秒值----Date
获取
long getTime();
Date ---毫秒值
4、DateFormat& SimpleDateFormat
DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat类)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。
我们通过这个类可以帮我们完成日期和文本之间的转换。
SimpleDateFormat:
                  格式化:
                        Date --- String
String  format(Date date)//将日期转换成一个一定格式的字符串
解析:
String --- Date
"2049-8-26"
Date parse(String source)//解析成默认Date对象的格式
构造方法:
                SimpleDateFormat() :使用默认的模式进行对象的构建
                  SimpleDateFormat(String pattern) :使用的指定的模式进行对象的构建
yyyyMMdd日)
注意:解析的字符串,模式必须和构建对象的模式一样。
例如:
public class SimpleDateFormatTest {
        public static void main(String[] args) throws ParseException {
                //出生日期
                String birthday = "1998-01-01";
                //今天日期
                String now = "2000-01-01";
               
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                //将字符串转换成日期对象
                Date d1 = sdf.parse(birthday);
                Date d2 = sdf.parse(now);
               
                //将日期对象转换成long类型
                long l = d1.getTime();
                long l2 = d2.getTime();
               
                System.out.println((l2 - l) / 1000 / 60 / 60 / 24);
               
        }
}
5、Calendar
Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。
Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,将语言敏感内容处理好,再返回子类对象
void set(int field, int value) :把指定的字段修改成指定的值
c.set(Calendar.DAY_OF_MONTH, 20);
void add(int field, int amount): 在指定的字段上加上指定的值
c.add(Calendar.DAY_OF_MONTH, -1);
//获取制定的年月日的值
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int day = c.get(Calendar.DAY_OF_MONTH);
二、包装类&正则表达式
1、包装类概述
Java将基本数据类型值封装成了对象。
每个常量都有对应的封装对象
除了int Integer
char Character
其他的类型封装都是首字母大写
int为例
Integer:
                String --- int
                        方式1int intValue()
                        方式2static int parseInt(String s)
                  int --- String
                          方式1+ ""
                        方式2String toString()
2、包装类的构造方法
构造方法:
Integer(int value)                  Integer(String s)
3、包装类的自动装箱和拆箱
自动拆箱:对象转成基本数值
相当于 int a = i.intValue();
                Integer i = 10;
                int a = i;
自动装箱:基本数值转成对象
相当于: Integer i = new Integer(10);
                 Integer i = 10;
4、正则表达式
概述:
正则表达式是专门解决字符串规则匹配的工具。
正则表达式也是一个字符串,用来定义匹配规则。
boolean  mathchesString regex);
正则表达式在使用split(String s)分割字符串的时候,以.分割时候,前面需要添加\\
空格时需要用” +”(空格+)



作者: 狸大大    时间: 2017-12-13 09:05
   加油哦
作者: 陈文老师    时间: 2017-12-13 11:21
继续加油~~~持之以恒
作者: xiongliu    时间: 2017-12-13 12:21
666666666666666666666
作者: 1414225997    时间: 2017-12-14 09:43
哇,继续努力哈




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2