完成字符串和时间对象的转化(DateFormat)、(以及日历Calendar用法)

DateFormat  和 SimpleDateFormat

示例(时间格式的书写)

package cn.date;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test02 {
    public static void main(String[] args) {
        DateFormat d=new SimpleDateFormat("yyyy年-MM月-dd日  hh:mm:ss"); //设置时间格式
        Date s=new Date();                                 //当前时间
        String str=d.format(s);                            //将时间对象按照格式化字符串 ,转换为字符串
        System.out.println(str);
        
        String str2="1998-5-20";
        DateFormat dd=new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date ss=dd.parse(str2);                    //将字符串解析为带有固定格式的字符串,并把它给Date对象。注意:格式要一致
            System.out.println(ss);   
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }    
        
        
    }
}

 结果

完成字符串和时间对象的转化(DateFormat)、(以及日历Calendar用法)

 

 

Calendar  (日历)(日期类)(日期加法)

示例

package cn.date;

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class TestClendar {
    public static void main(String[] args) {
        Calendar c=new GregorianCalendar();    //Calendar是抽象类,不能建对象,要用到他的子类。
        c.set(2019, 7,15,18,07,36);            //设置日期
        Date d=c.getTime();                        //得到设定日期   ,没有设值的话,返回当前时间。
//        c.setTime(new Date());
        System.out.println(d); 
        
//        System.out.println(c.get(Calendar.YEAR));
        
        //加法
        c.add(Calendar.YEAR, 30);
        Date m=c.getTime();        
        System.out.println(m);
        
    }
}

结果

完成字符串和时间对象的转化(DateFormat)、(以及日历Calendar用法)

 

可视化的日历  (挺有意思)                

 代码示例:

package cn.date;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;

public class Visual {
    public static void main(String[] args) {
        System.out.println("请输入日期(按格式:2019-5-6):");
        Scanner  scanner=new Scanner(System.in);  //输入日期,按格式      ------    System.in输入流
        String temp=scanner.nextLine();           //返回输入的结果,给temp变量。
//        String temp="2019-2-15";   这是写死的
        DateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date d= dateformat.parse(temp);      //将字符串解析为带有固定格式的字符串,并把它给Date对象。
            Calendar calendar=new GregorianCalendar();
            calendar.setTime(d);
            int day=calendar.get(Calendar.DATE);   //获取到当前日期 15;
            
//            System.out.println(day);           //打印
            calendar.set(Calendar.DATE, 1);    //把日期设成2019-2-1,接着查看他是第几天,从而确定它在日历中的位置
//            System.out.println(calendar.get(Calendar.DAY_OF_WEEK));   //打印查看2月1日是这周的第几天。6 表示星期五,则星期五为2月1号这一天
//            System.out.println(calendar.getActualMaximum(Calendar.DATE)); //这个月的最多天数
            int MaxDay=calendar.getActualMaximum(Calendar.DATE);        //把天数提取出来
            
            System.out.println("日\t一\t二\t三\t四\t五\t六");
            for(int i=1;i<calendar.get(Calendar.DAY_OF_WEEK);i++) {    //打印前面的空格,6的话前面要打印5个空格
                System.out.print("\t");
                
            }
            //可视化日历
            for(int i=1;i<=MaxDay;i++) {
                if(i==day) {
                    System.out.print("*");              //如果打印到当天就打印个星星“*”
                }
                System.out.print(i+"\t");
                int w=calendar.get(Calendar.DAY_OF_WEEK); //得到2019-2-2是这周的第几天
                if(w==Calendar.SATURDAY) {               //如果是这周的第七天,也就是周六,则换行。
                    System.out.print("\n");
                }
                calendar.add(Calendar.DATE, 1);       //日期加一,变为2019-2-2;
            }
            
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }
}

打印结果

完成字符串和时间对象的转化(DateFormat)、(以及日历Calendar用法)

 

 

 

 

 

 

 

 

 

上一篇:类DateFormat


下一篇:DateFormat类概述