我们生成的日期 ,可能不是我们想要的格式,这时候,就要用到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. 写个PHP框架吧

    肯定会问:现在的PHP框架那么多了,为什么还要写一个PHP框架呢? 1.时代:PHP7来了,现在的所有框架都是基于PHP5.x的.到时候PHP7正式推广出来,现有的框架都不能发挥PHP7的最大性能优势 ...

  2. 前端科普文—为什么<!DOCTYPE> 不可或缺

    When question comes 你一定在 HTML 页面最前面看到过这样一行代码(比如 百度): <!DOCTYPE html> 或者说类似这样的(比如 博客园-韩子迟 PS:博客 ...

  3. iframe在ios下无故扩大的问题探究

    移动端页面内嵌了个 iframe,在 ios 下打开却发现页面怪异.比如 demo.代码如下: <!DOCTYPE html> <html lang="zh-CN" ...

  4. 高性能JavaScript 加载和执行

    前言 本章主要讲述如何加载脚本使得用户能有良好的用户体验,而核心内容就是JavaScript的异步加载.之前写过一篇不得不说的JavaScript异步加载,相似的内容就不多加描述,讲些不同的东西,主要 ...

  5. GWT-Dev-Plugin(即google web toolkit developer plugin)for firefox的下载地址

    如果FireFox的版本为20,则对应google-web-toolkit的插件离线下载地址,不要用浏览器直接下载,用Flashget等客户端下载,超快. http://google-web-tool ...

  6. Python【map、reduce、filter】内置函数使用说明(转载)

    转自:http://www.blogjava.net/vagasnail/articles/301140.html?opt=admin 介绍下Python 中 map,reduce,和filter 内 ...

  7. SSH登录之后运行命令报错的解决办法-- Failed to connect to Mir: Failed to connect to server socket: No such file or directory

    问题描述: Failed to connect to Mir: Failed to connect to server socket: No such file or directory 解决方案: ...

  8. shell note

    1 输出重定向:ll > aaa 将输出内容 添加到aaa文件中 ll >> aaa将输出内容追加到aaa中 ll &>> abc 将输出内容不论正确或错误都保存 ...

  9. vim 快捷键

    1.vim ~/.vimrc 进入配置文件 如果不知道vimrc文件在哪,可使用 :scriptnames 来查看 set nu #行号 set tabstop=4 #一个tab为4个空格长度 set ...

  10. web单页应用(1)--第一个SPA

    <!doctype html> <html> <head> <title>第一个SPA</title> <style type=&qu ...