重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
可以使用正则表达式进行匹配替换,例如下面代码:
目前成都创新互联已为成百上千家的企业提供了网站建设、域名、网站空间、网站托管、企业网站设计、望奎网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
public class app50 {
public static void main(string[] args) {
string demo = "这个日期是2018/5/6书写出来的";
// xxxx年xx月xx日 格式
string demo2 = demo.replaceall("(\\d{4})/(\\d{1,2})/(\\d{1,2})", "$1年$2月$3日");
system.out.println(demo2);
// xxxx-xx-xx 格式
demo2 = demo.replaceall("(\\d{4})/(\\d{1,2})/(\\d{1,2})", "$1-$2-$3");
system.out.println(demo2);
}
}运行结果:
这个日期是2018年5月6日书写出来的
这个日期是2018-5-6书写出来的
用SimpleDateFormat来定义格式,捕获ParseException来验证时间格式。代码如下:
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class UseEnumeration {
public static void main(String[] args) throws IOException {
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD");
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String str = null;
System.out.println("Enter your Date:");
str = bf.readLine();
try {
sdf.parse(str);
} catch (ParseException e) {
// TODO Auto-generated catch block
System.out.println("Date Format Error!");
}
}
}
pre t="code" l="java"SimpleDateFormat sdf=new SimpleDateFormat(format);
字符串的话 判断
try{
return str!=nullsdf.format(sdf.parse(str)).equals(str);
}catch(e){
return false;
}
日期的话
try{
return date!=nullsdf.parse(sdf.format(str)).getTime()==date.getTime()
}catch(e){
return false;
}
static
public
boolean
isValidDate(
int
year,
int
mon,
int
day,
short
year_min,short
year_max,
StringBuffer
msg)
{
if(yearyear_min
||
yearyear_max)
{
msg.append("年份必须在("+
year_min+"~"+year_max+
")之间,输入值("+year+")无效\n");
return
false;
}else
if(mon1
||
mon12){
msg.append("月份必须在(1~12)之间,输入值("+mon+")无效\n");
return
false;
}else
if(day1
||
day31){
msg.append("日号必须在(1~31)之间,输入值("+day+")无效\n");
return
false;
}else
if(mon==2){
if(isLeapYear(year)
day29){
msg.append("闰年的闰二月日号必须在(1~29)之间,"+year+"是闰年,输入值("+day+")无效\n");
return
false;
}else
if(day28){
msg.append("非闰年的闰二月的日号必须在(1~28)之间,"+year+"不是闰年,输入值("+day+")无效\n");
return
false;
}
}
return
true;
}
//闰年
static
public
boolean
isLeapYear(int
year){
return
(year%4==0
year%100!=0)||
year%400==0;
}
通过正则表达式判断。代码如下:
public boolean isDate(String date) {
String path="\\d{4}-\\d{2}-\\d{2}";//定义匹配规则
Pattern p=Pattern.compile(path);//实例化Pattern
Matcher m=p.matcher(date);//验证字符串内容是否合法
if(m.matches()){
return true;
}
return false;
}
你PARSE的结果是DATE,又不是FORMAT成STRING,这样的日期是合法的,也就是说,你最终是按照YYYY-MM-DD的格式来格式化的DATE字符串,进而保存为DATE类型的。DATE里面小时分秒等全为0