zoukankan      html  css  js  c++  java
  • 完成字符串和时间对象的转化(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();
            }    
            
            
        }
    }

     结果

    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);
            
        }
    }

    结果

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

     代码示例:

    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("日	一	二	三	四	五	六");
                for(int i=1;i<calendar.get(Calendar.DAY_OF_WEEK);i++) {    //打印前面的空格,6的话前面要打印5个空格
                    System.out.print("	");
                    
                }
                //可视化日历
                for(int i=1;i<=MaxDay;i++) {
                    if(i==day) {
                        System.out.print("*");              //如果打印到当天就打印个星星“*”
                    }
                    System.out.print(i+"	");
                    int w=calendar.get(Calendar.DAY_OF_WEEK); //得到2019-2-2是这周的第几天
                    if(w==Calendar.SATURDAY) {               //如果是这周的第七天,也就是周六,则换行。
                        System.out.print("
    ");
                    }
                    calendar.add(Calendar.DATE, 1);       //日期加一,变为2019-2-2;
                }
                
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }
    }

    打印结果

     

  • 相关阅读:
    缓存雪崩与缓存穿透
    读取表中最大值
    使用vscode在谷歌上运行代码
    elment 中tree组件展开所有和收缩所有节点
    深度系统商店提示无法安装软件依赖错误
    诗词,理解,品论
    《45个十分钟读懂资本论》原文、适合朗读版和个人见解
    《论持久战》全文
    OSError: [WinError 126] 找不到指定的模块。
    C++ 获取序列最大(或最小)的 N 个元素
  • 原文地址:https://www.cnblogs.com/ssxblog/p/11209948.html
Copyright © 2011-2022 走看看