JAVA验证字符串转换为日期的合法性
2010-12-14 13:56
344 查看
以下为在网上收集的多种解决方法
1、 在处理日期的格式转换的时候总结些经验,和大家分享,如下:
String text ="1996-2-1";
Date d = null;
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
df.setLenient(false);//这个的功能是不把1996-13-3 转换为1997-1-3
try
{
d = df.parse(text);
}
catch(Exception e)
{
d=new Date();
System.out.println("你输入的日期不合法,请重新输入");
}
String sdata=df.format(d);
System.out.println(sdata);
2、使用StringTokenizer先分成两部分"2002-3-20",
"15:07:40",然后在分别使用StringTokenizer取得year,month,day,
hour,minute,second,最后使用GregorianCalendar设置日期,大概代码如下:
String time="2002-3-20 15:07:40";
StringTokenizer t=new StringTokenizer(time," ");//空格分段
String time1=time.nextToken();//time1为"2002-3-20"
String time2=time.nextToken();//time2为"15:07:40"
再分别以"-"和":"为分隔符号取得个变量
StringTokenizer t2=new StringTokenizer(time1,"-");//"-"分段
String year=t2.nextToken();
String month=t2.nextToken();
String day=t2.nextToken();
3、import java.io.*;
import java.util.*;
import java.util.Date;
import java.text.*;
public class test
{
public static void main(String args[]){
try{
String str = "2002-3-20 15:07:40";
Date dt = new SimpleDateFormat("yyyy-MM-dd H:m:s").parse(str);
long lgTime = dt.getTime();
lgTime += 24*60*60*1000;//一天
lgTime += 60*60*1000;//一小时
java.sql.Timestamp ts = new java.sql.Timestamp(lgTime);
String newDate = new SimpleDateFormat("yyyy-MM-dd H:m:s").format(ts);
System.out.println("st: " + newDate);
} catch(Exception ee ) {
ee.printStackTrace();
}
}
}
4、import java.util.*;
import java.text.*;
public class data
{
public static void main(String[] args)
{
String ds = "2002-3-20 15:07:40";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
try
{
Date d = df.parse(ds);//将字符串解析成了Date型
System.out.println("日期" + d);
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(d);
//现在开始就可以用cal.add(int field, int amount)来加上任意的时间了
//另外,GregorianCalendar cal = new GregorianCalendar()就可以得到系统当前时间
}
catch(ParseException e)
{
System.out.println("Unable to parse " + ds);
}
}
}
1、 在处理日期的格式转换的时候总结些经验,和大家分享,如下:
String text ="1996-2-1";
Date d = null;
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
df.setLenient(false);//这个的功能是不把1996-13-3 转换为1997-1-3
try
{
d = df.parse(text);
}
catch(Exception e)
{
d=new Date();
System.out.println("你输入的日期不合法,请重新输入");
}
String sdata=df.format(d);
System.out.println(sdata);
2、使用StringTokenizer先分成两部分"2002-3-20",
"15:07:40",然后在分别使用StringTokenizer取得year,month,day,
hour,minute,second,最后使用GregorianCalendar设置日期,大概代码如下:
String time="2002-3-20 15:07:40";
StringTokenizer t=new StringTokenizer(time," ");//空格分段
String time1=time.nextToken();//time1为"2002-3-20"
String time2=time.nextToken();//time2为"15:07:40"
再分别以"-"和":"为分隔符号取得个变量
StringTokenizer t2=new StringTokenizer(time1,"-");//"-"分段
String year=t2.nextToken();
String month=t2.nextToken();
String day=t2.nextToken();
3、import java.io.*;
import java.util.*;
import java.util.Date;
import java.text.*;
public class test
{
public static void main(String args[]){
try{
String str = "2002-3-20 15:07:40";
Date dt = new SimpleDateFormat("yyyy-MM-dd H:m:s").parse(str);
long lgTime = dt.getTime();
lgTime += 24*60*60*1000;//一天
lgTime += 60*60*1000;//一小时
java.sql.Timestamp ts = new java.sql.Timestamp(lgTime);
String newDate = new SimpleDateFormat("yyyy-MM-dd H:m:s").format(ts);
System.out.println("st: " + newDate);
} catch(Exception ee ) {
ee.printStackTrace();
}
}
}
4、import java.util.*;
import java.text.*;
public class data
{
public static void main(String[] args)
{
String ds = "2002-3-20 15:07:40";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
try
{
Date d = df.parse(ds);//将字符串解析成了Date型
System.out.println("日期" + d);
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(d);
//现在开始就可以用cal.add(int field, int amount)来加上任意的时间了
//另外,GregorianCalendar cal = new GregorianCalendar()就可以得到系统当前时间
}
catch(ParseException e)
{
System.out.println("Unable to parse " + ds);
}
}
}
相关文章推荐
- JAVA验证字符串转换为日期的合法性
- Java 日期格式是“Fri Feb 26 16:33:08 CST 2016”字符串类型,转date类型。java.util.date与sql.date的相互转换
- js和java中日期和日期字符串的相互转换和使用
- Java 日期字符串date与数字long之间的转换
- Java字符串转换为日期和时间比较大小
- 如何将java中Date存入mysql中的datetime中,字符串怎么转换为日期类型
- 日期时间-字符串转换 java代码
- java.util.Date_与_java.sql.Date互转_及_字符串转换为日期时间格式
- @RequestBody接收json字符串,自动将日期字符串转换为java.util.Date
- Java日期格式与字符串的转换
- Java将Unix时间戳转换成指定格式日期字符串工具类
- Java日期转换SimpleDateFormat格式大全 和 判断是否为合法的日期时间字符串?
- java时间戳与日期字符串相互转换方法
- java 时间戳与日期字符串相互转换
- java获取当前日期的前一天日期与字符串日期之间的转换
- 在java中实现日期类型和字符串类型的转换大全(Date String Timestamp Datetime)
- @RequestBody接收json字符串,自动将日期字符串转换为java.util.Date
- Java字符串转换为日期和时间比较大小
- java的类型转换(常用字符串,日期,汉字符号等!!)
- Java日期格式--字符串与Date格式的转换