我们生成的日期 ,可能不是我们想要的格式,这时候,就要用到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("程序结束!"); }
}

结果:

SampleDateFormat进行日期格式化的更多相关文章

  1. C# DateTime日期格式化

    在C#中DateTime是一个包含日期.时间的类型,此类型通过ToString()转换为字符串时,可根据传入给Tostring()的参数转换为多种字符串格式. 目录 1. 分类 2. 制式类型 3. ...

  2. Json.net日期格式化

    1. 全局设置,可以在App_Global中配置 JsonSerializerSettings setting = new JsonSerializerSettings(); JsonConvert. ...

  3. 分享自己写的JS版日期格式化和解析工具类,绝对好用!

    前言 本来想模仿Java里面的SimpleDateFormat()对象的,但是感觉这样用起来不方便,所以还是直接写成单独的方法算了. 原文链接 日期格式化 使用说明 formatDate(date, ...

  4. Oracle 英文 非标准格式 日期 格式化

    最近在处理一张表的时候,需要按照日期排序,日期字段中日期的格式有两种. 格式一:07-Aug-2015 格式二:10/28/16 日期转化及格式化sql语句: select to_date('07-A ...

  5. Sql Server 日期格式化函数

    Sql Server 中一个非常强大的日期格式化函数Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVE ...

  6. django 过滤器、日日期格式化参数

    转载:http://blog.csdn.net/xyp84/article/details/7945094 django1.4 html页面从数据库中读出DateTimeField字段时,显示的时间格 ...

  7. 161226、js日期格式化

    JavaScript Date format(js日期格式化) 方法一:// 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季 ...

  8. Sql Server 中一个非常强大的日期格式化函数

    Sql Server 中一个非常强大的日期格式化函数Select CONVERT(varchar(100), GETDATE(), 0)-- 05 16 2006 10:57AMSelect CONV ...

  9. SQL Server中的日期格式化

    SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate()    2004-09-12 11:06:08 ...

随机推荐

  1. JavaScript中sort方法的一个坑(leetcode 179. Largest Number)

    在做 Largest Number 这道题之前,我对 sort 方法的用法是非常自信的.我很清楚不传比较因子的排序会根据元素字典序(字符串的UNICODE码位点)来排,如果要根据大小排序,需要传入一个 ...

  2. SQL2005SP4补丁安装时错误: -2146233087 MSDTC 无法读取配置信息。。。错误代码1603的解决办法

    是在安装slq2005sp3和sp4补丁的时候碰到的问题. 起先是碰到的错误1603的问题,但网上搜索的1603的解决办法都试过了,google也用了,外文论坛也读了,依然没有能解决这个问题. 其实一 ...

  3. (十七)迭代器模式详解(foreach的精髓)

    作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 各位好,很久没以LZ的身份和 ...

  4. Angular指令1

    Angular的指令 也就是directive,其实就是一WebComponent,以前端的眼光来看,好象很复杂,但是以后端的眼光来看,还是非常简单的.其实就是一个中等水平的类. var myModu ...

  5. P值与significant(显著性)的理解

    P值与significant的理解 来源:广州市统计局   发表日期:2015-01-21     P值可以理解为结论的风险大小,也就是根据数据得出的结果有多大的错误风险,P值越小,结论错误的风险越小 ...

  6. Css-自适应高度修复(高度随内容而自动撑高)

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  7. 一键系统优化15项脚本,适用于Centos6.x

    #!/bin/sh ################################################ #Author:nulige # qqinfo:1034611705 # Date ...

  8. Day Three(Beta)

    站立式会议 站立式会议内容总结 331 今天:列表关于div控制长度选择控制字段长度而非cssCtrl;editor学习使用 遇到的问题:无 明天:复习,没什么时间花在代码上,可以构思下闹钟的过程 4 ...

  9. C#的值参数与引用参数

    值参数:在使用值参数时,是把变量的值传给函数,函数中对此变量的任何修改都不影响该变量本身的值. 引用参数:使用引用参数时,在函数中对此变量的修改会影响变量的值. 说简单点,值参数,就是我把身份证复印件 ...

  10. mysql优化基础

    唯一索引(unique index)强调唯一,就是索引值必须唯一. create unique index [索引名] on 表名 (列名);alter table 表名 add unique ind ...