zoukankan      html  css  js  c++  java
  • SampleDateFormat进行日期格式化

    我们生成的日期 ,可能不是我们想要的格式,这时候,就要用到SampleDateFormat类的format方法转换一下,

    SampleDateFormat是java.text包下的一个常用日期类

    这个常用类的常用方法,我们经常会用到2个

    parse(String text, ParsePosition pos)
              解析字符串的文本,生成 Date

    format(Date date, StringBuffer toAppendTo, FieldPosition pos)
              将给定的 Date 格式化为日期/时间字符串,并将结果添加到给定的 StringBuffer

    实例:录入会员的生日时,形式必须是"月/日",如"09/12";录入的密码必须在6~10位,允许用户重复录入,直到输入正确为止

    代码如下:

    //用户类
    package changyonglei.homework;
    /**
     * 录入会员的生日时,形式必须是"月/日",如"09/12";录入的密码必须在6~10位,允许用户重复录入,直到输入正确为止
     */
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class Vip{
        private String vipdate;//会员生日
        private String password;//会员密码
        public Vip() {
        }
        public Vip(String vipdate, String password) {
            this.vipdate = vipdate;
            this.password = password;
        }
        public String getVipdate() {
            return vipdate;
        }
        public void setVipdate(String vipdate)  {
            //指定格式
            SimpleDateFormat date=new SimpleDateFormat("MM/DD");
            try{
                Date date1 =date.parse(vipdate);//解释字符串的文本,生成date
                date.format(date1);//将给定的 Date 格式化为我们定义的日期/时间字符串
                this.vipdate=vipdate;
            }catch(Exception e){
                System.err.println("日期格式输入有误!");
            }
        }
        public String getPassword() {
            return password;
        }
        public void setPassword(String password) {
            if(password.length()>=6 && password.length()<=10){
                this.password = password;
            }else{
                System.err.println("密码形式输入有误!");
            }
            
        }
        
    }
    //测试类
    package changyonglei.homework;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Scanner;
    
    /**
     * 对录入的信息进行有效性的验证
     * 录入会员的生日时,形式必须是"月/日",如"09/12";录入的密码必须在6~10位,允许用户重复录入,直到输入正确为止
     * @author 0
     *
     */
    public class TestVip {
        public static void main(String[] args) throws ParseException {
            Scanner input=new Scanner(System.in);
            Vip vip=new Vip();
            String day;
            //进来先输入生日,如果为空,继续输入生日,如果不为空,则开始输入密码
            boolean flag;
            
            //进行会员生日验证
            do{
                System.out.println("请输入生日<MM/DD>:");
                day=input.next();
                vip.setVipdate(day);
                if(vip.getVipdate()!=null){
                    //进行密码验证
                    String pwd;
                    do{
                        System.out.println("请输入密码:");
                        pwd=input.next();
                        vip.setPassword(pwd);
                    }while(vip.getPassword()==null);
                    flag=false;
                }else{
                    flag=true;
                }
                //如果符合规则则会执行日期 转换,那么就能set进值,如果不符合规则,就是空,所以我们判断日期为空的时候继续循环
            }while(flag);
            
            System.out.println("程序结束!");
            
        }
    }

    结果:

  • 相关阅读:
    可空类型转换为不可空的普通类型
    如何使用AspNetPager分页控件和ObjectDataSource控件进行分页
    TFS映射后丢失引用的问题
    (很好用)JS时间控件实现日期的多选
    取两个日期之间的非工作日的天数(指的是周六、周日)
    在日期格式化的时候提示错误:Tostring没有采用一个参数的重载
    Linq返回的集合类型不是已有的表格类型时的写法(谨记:列表的时候用)
    系统缓存全解析6:数据库缓存依赖
    实现文本框动态限制字数的实现(好方法)
    实现GridView内容循环滚动
  • 原文地址:https://www.cnblogs.com/sincoolvip/p/5569362.html
Copyright © 2011-2022 走看看