SimpleDateFormat判断字符串是否符合日期格式

背景:在校验模板导入场景下,有时避免不了需要判断输入字符串是否满足要求日期格式,并返回所需要的日期格式。
以下是利用SimpleDateFormat进行校验的代码

/**通过 SimpleDateFormat解析字符串时是否异常判断字符串是否符要求的日期格式
	 * @param dString
	 * @return
	 */
	public String newDateFormat(){
		try {
			String dString = "20210712102959";			
			//输入字符串的格式,把字符串解析成日期格式
			SimpleDateFormat sFormat1 = new SimpleDateFormat("yyyyMMddHHmmss");
			//设置Lenient属性为false,表示严格解析日期;否则会出现20210712102960解析成 20210712103000的情况
			sFormat1.setLenient(false);
			Date date = sFormat1.parse(dString);
			System.out.println(date);
			
			//需要转换的时间格式
			SimpleDateFormat sFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			String newDateFormat =  sFormat.format(date);
			System.out.println(newDateFormat);
			
			return newDateFormat;
		} catch (Exception e) {
			System.out.println("输入时间格式错误");
			return null;
		}
		
	}

日期格式详解(部分):

时间分隔符,在某些区域设置中,可以使用其他字符表示时间分隔符。时间分隔符在格式化时间值时分隔小时、分钟和秒。
/
日期分隔符,在某些区域设置中,可以使用其他字符表示日期分隔符。日期分隔符在格式化日期值时分隔日、月和年。
d
将日显示为不带前导零的数字(如 1)。
dd
将日显示为带前导零的数字(如 01)。
M
将月份显示为不带前导零的数字(如一月表示为 1)。
MM
将月份显示为带前导零的数字。
h
使用 12 小时制将小时显示为不带前导零的数字(例如 1:15:15 PM)。
hh
使用 12 小时制将小时显示为带前导零的数字(例如 01:15:15 PM)。
H
使用 24 小时制将小时显示为不带前导零的数字(例如 1:15:15)。
HH
使用 24 小时制将小时显示为带前导零的数字(例如 01:15:15)。
m
将分钟显示为不带前导零的数字(例如 12:1:15)。
mm
将秒显示为带前导零的数字(例如 12:15:05)。
y
将年份 (0-9) 显示为不带前导零的数字。
yy
以带前导零的两位数字格式显示年份。
yyy 或 yyyy
以四位数字格式显示年份。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值