Date日期类 SimpleDateFormat简单日期格式化和Calendar日历类之间的转换

Date日期类 SimpleDateFormat简单日期格式化和Calendar日历类之间的转换

日期类转换为简单日期格式化:String s = sdf.format(dd);
简单日期格式化转换为日期类:Date d = sdf.parse("yyyy年MM月dd日");
简单日期格式化转换为日历类:Calendar c = sdf.getCalendar();

字符串转换日期  SimpleDateFormat对象名.parse(String:)
日期转换字符串  SimpleDateFormat对象名.format(Date:)
日历转换为日期  Calener对象名.getTime
字符串转换为日历  SimpleDateFormat对象名.getCalender()
获取当前时间转化为指定格式
//日期转换字符串 a.format(Date:)方法

Date d1=new Date();//创建Date对象 获取当前时间 

SimpleDateFormat a=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//创建SimpleDateFormat对象 输入指定格式

String s = a.format(d1);//将当前时间转化为指定格式
System.out.println(s);//输出结果
日期与指定格式字符串的相互转换
/*所用方法
字符串转换日期  SimpleDateFormat对象名.parse(String:)
日期转换字符串  SimpleDateFormat对象名.format(Date:)
*/

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");//输入字符串相同格式
String t1 = "2018-03-04";//定义一个字符串日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");//输入指定格式
Date p1 = sdf1.parse(t1);//指定字符串转换为日期

String f1 = sdf.format(p1);//日期转化为指定格式字符串
System.out.println(f1);//输出结果
输入指定日期获取日期星期几
/*所用方法
设置日期  对象名.set(Calender.)
获取  对象名.get(Calender.)
*/
Calendar cal = Calendar.getInstance();//创建日历对象(抽象类不可直接创建)
cal.set(Calendar.YEAR,2018);//输入指定日期, 年 
cal.set(Calendar.MONTH,02);//输入指定日期,月
cal.set(Calendar.DAY_OF_MONTH,14);//输入指定日期,月中的第几天

int r = cal.get(Calendar.DAY_OF_WEEK)-1;//获取指定日期是星期几(英国格林威治星期是0~6,月份是0~11)
System.out.println("r = " + r);//输出结果
判断数字字符串数组中的数字字符串是否是对称
/*所用方法
StringBuilder(String str)构造一个字符串生成器,并初始化为指定的字符串内容。
对象名.reverse() 反转方法。
对象名.toString() 转换为字符串。
*/
//(1)定义数字字符串数组{"010","3223","666","7890987","123123"};
        String[] arr={
     "010","3223","666","7890987","123123"};
        //(2)判断该数字字符串数组中的数字字符串是否是对称
        //定义统计变量
        int count =0;
        //1.遍历字符串数组,得到每一个字符串
        for (int i = 0; i < arr.length; i++) {
     
            String str = arr[i];
            //用StringBuilder中的反转方法将字符串反转和原字符串比较
            //1.创建StringBuilder对象,将str--->sb对象
            StringBuilder sb=new StringBuilder(str);
            //2.调用反转方法
            String newStr = sb.reverse().toString();
            //3.将str和newStr比较是否是一样的
            if (newStr.equals(str)) {
     
                count++;
                //一样,-->输出
                if (i==arr.length-1) {
     
                    System.out.print(str + " 是对称的;");
                }else {
     
                    System.out.print(str + " 是对称的,");
                }
            }else {
     
                if (i==arr.length-1) {
     
                    System.out.print(str+" 不是对称的;");
                }else {
     
                    System.out.print(str+" 不是对称的,");
                }
            }
        }

        System.out.println();//换行
        System.out.println("数组中对称字符串的个数为:"+count);
字符串、日期转化为基本数据类型(long)

例如 计算某一天距离今天有多少天


/*
字符串转换日期  SimpleDateFormat对象名.parse(String:)
日期转换字符串  SimpleDateFormat对象名.format(Date:)
日历转换为日期  Calener对象名.getTime
*/
 String a="1996-01-18";//输入指定字符串

 Date b=new Date();//获取当前时间

 SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd");

 Date p = s.parse(a);//将指定字符串转化为相应日期

 long t1 = b.getTime();//将日期转化为long类型用 对象    名.getTime方法获取从1970-01-01 0点到日期所在时间的毫秒数

 long t2 = p.getTime();

 long l = (t1 - t2) / (60 * 60 * 24 * 1000);//毫秒转化为天数
 System.out.println(l);

 Calendar c=Calendar.getInstance();//创建日历对象(抽象类不可直接创建)

 c.set(2018,2,14);

 Date t = c.getTime();//日历转换为日期
 long t3 = t.getTime();
 long l1 = (t1 - t3) / (1000 * 60 * 60 * 24);
 System.out.println(l1);

你可能感兴趣的:(日期类之间的转换)