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("程序结束!");

    }
}

结果:

时间: 2024-11-08 00:26:35

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

thymeleaf中的日期格式化

本篇介绍些thymeleaf中的日期格式化的方法: 1.用#dates.format来解决: <span th:text="${#dates.format(user.date, 'yyyy-MM-dd')}">4564546</span> 或者<span th:text="${#dates.format(billingForm.startTime,'yyyy-MM-dd HH:mm:ss')}">4564546</span&

js输出日期格式化

//日期格式化 Date.prototype.Format = function(fmt) { var o = { "M+" : this.getMonth() + 1, "d+" : this.getDate(), "h+" : this.getHours(), "m+" : this.getMinutes(), "s+" : this.getSeconds(), "q+" : Mat

161226、js日期格式化

JavaScript Date format(js日期格式化) 方法一:// 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09

Asp 日期格式化问题 沙比作者,我改过来。

Asp 日期格式化问题 投稿:mdxy-dxy 字体:[增加 减小] 类型:转载 时间:2009-06-14我要评论 asp做网站经常遇到日期格式处理问题,介绍一个有用的vbscript函数formatdatetime() 对于access数据库的日期时间类型字段存储的日期,直接从数据库中读出显示的效果是带时间的如,2009-06-13 18:00 ,如果只是希望显示日期应该怎么办呢? Vbscrip有一个函数FormatDateTime().其说明如下: 返回表达式,此表达式已被格式化为日期或

JS日期对象扩展-日期格式化

日期对象扩展(日期格式化)yyyy-MM-dd hh:mm:ss.S Date.prototype.format = function(fmt) { var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), //日 "h+" : this.getHours(), //小时 "m+" : this.getMinutes(), //分 "s+"

Js获取当前日期时间+日期印证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天

Js获取当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天 字符串转日期型+Js当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+日期所在年的第几周 日期时间脚本库方法列表Date.prototype.isLeapYear 判断闰年Date.prototype.Format 日期格式化Date.prototype.DateAdd 日期计算Date.prototype.DateDiff 比较日期差Date.prototype.toString 日期转字符

MVC日期格式化的2种方式

原文:MVC日期格式化的2种方式 假设有这样的一个类,包含DateTime类型属性,在编辑的时候,如何使JoinTime显示成我们期望的格式呢? using System; using System.ComponentModel.DataAnnotations; namespace MvcApplication1.Models { public class Employee { public DateTime? JoinTime { get; set; } } } 在HomeController

sql日期格式化

0   或   100   (*)     默认值   mon   dd   yyyy   hh:miAM(或   PM)       1   101   美国   mm/dd/yyyy       2   102   ANSI   yy.mm.dd       3   103   英国/法国   dd/mm/yy       4   104   德国   dd.mm.yy       5   105   意大利   dd-mm-yy       6   106   -   dd   mon  

JSP中利用JSTL标签对日期格式化

数据库:Mysql 开发语言:JAVA 页面类型:JSP 对Mysql中的日期类型格式化,在JSP中,如何办呢,很多人说在JAVA后台去日期格式化,无奈了,于是找到了比较靠谱的答案 需要先引入JSTL库 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> 其次对JSP输出的日期进行格式化 <span>发布时间:<fmt:formatDate value=&qu