求解,Java如何判断Date类型的日期格式是什么?

两个系统对接,需要java校验对方送过来的日期必须为YYYY-MM-DD格式,目前在解析送过来的数据时,已将日期通过GregorianCalendarca=cal.toG... 两个系统对接,需要java校验对方送过来的日期必须为YYYY-MM-DD格式,目前在解析送过来的数据时,已将日期通过 GregorianCalendar ca = cal.toGregorianCalendar(); ca.getTime(); 将XML形式的日期转换为Date类型了,如何判断对方所传送的日期的格式呢,谢谢 展开
 我来答
1069642356
推荐于2017-10-01 · TA获得超过106个赞
知道答主
回答量:57
采纳率:0%
帮助的人:43.2万
展开全部

  1、Date是没有格式的。  

  Date是一个包装了毫秒值的瘦包装器,表示自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数。


  2、那么我们通常说的日期格式是怎么回事呢?

  我们说的日期格式,是将Date,即是毫秒数按照一定的格式展示给我们,展示出来的值是【String字符串】而不是【Date日期】


所以,你可以将Date转化为任意你要的格式


  举例说明下:

更多追问追答
追问
但是我现在需要校验对方格式是否为YYYY-MM-DD的格式,怎么校验呢?
追答
传过来的不是Date类型吗?那就用不着校验格式,如果需要,你可以直接转化成YYYY-MM-DD的字符串

如果传过来的是字符串,你可以校验是不是符合YYYY-MM-DD的格式;
但是Date类型完全不存在格式的说法,只有转化成字符串时,才会有格式的概念,你只需要校验下传递过来的参数是不是空就可以了
百度网友f77eb01
2014-07-12 · TA获得超过407个赞
知道小有建树答主
回答量:615
采纳率:100%
帮助的人:416万
展开全部
用正则表达式!\\d{4}\-\\d{2}\-\\d{2}
追问
正则表达式只能匹配到日期字符串吧,现在我要校验Date类型的日期啊?
追答
Date类型存储的是1970年1月1日00:00至当前时间的毫秒数和时区信息,并且没有“格式”这个概念。所谓的格式是用String类型来展现的日期,但这不是Date类型。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式