如何实现把String转换成Date?(50分)

  • 主题发起人 主题发起人 saisi
  • 开始时间 开始时间
StrToDate('2003-05-01');
 
strtoDate(s);
 
var: mydatetime:Tdatetime;
mydatetime := StrToDate('2003-05-01 01:01:01');
 
StrToDate( ) 函数 将字符串转换为日期格式
StrToDateTime( ) 函数 将字符串转换为日期/时间格式
StrToTime( ) 函数 将字符串转换为时间格式
 
是java不是javascript
 
JAVA 中好象是:
s.toDate();
 
jdk1.5吗?
我现在只有jdk1.2的手册,里面没有String.toDate()
 
都没看清楚分类,
》分类:Java
不知道这个是否可用:
import java.util.Date;
Date.parse(String s)
 
你举个能运行的例子。如:
test.java:
import java.util.*;
class test{
public static void main(String[] args){
String strDate="2003-05-06";
Date currentDate=null;
try{
currentDate=new Date(strDate);
System.out.println(currentDate);
}catch(Exception e){
e.printStackTrace();
}
}
}
但是我的例子运行是异常如下:
Excepiton in thread "main" java.lang.NoClassDefFoundError:test
 
下面是Date类的构造方法:
Constructor Summary
Date(int year, int month, int day)
Deprecated. instead use the constructor Date(long date)
Date(long date)
Constructs a Date object using the given milliseconds time value.
可以看出,它的参数中没有 String 这种类型,所以你的程序是错误的。
要从一个字符串(具有日期格式)得到相应的日期,可以分别取得年、月、日后(整数)
,再使用Date类。
Sun已经建议使用Calendar类来代替Date类,具体的细节你可以看看相关文档。

 
如果是sql里用的话
java.sql.Date myDateEnd=java.sql.Date.valueOf(date_end);
 
saisi: 把 2003-05-06 改为 2003/05/06 就好了。
 
看到这么多人回帖以为解决了哪!我帖一个我的解决办法吧!
其实看JDK文档可以清楚的看到,saisi的方法在JDK 1.1的时侯是可以的,但在后面的版本该
构造方法被废弃了,改使用了另一个格式类来做转化,那就是DateFormat.
下面是我的代码,调试通过
import java.util.*;
import java.text.*;
public class test{
public static void main(String[] args){
String strDate="2003-05-06";
Date currentDate=null;
DateFormat df = DateFormat.getDateInstance();
try{
currentDate=df.parse(strDate);
System.out.println(currentDate);
}catch(Exception e){
e.printStackTrace();
}
}
}
 
FormatdateTime('YYYY-MM-DD',date) ;
 
only的方法照样出错,用我的方法:
import java.util.*;
import java.text.*;
public class date{
public static void main(String[] args){
String strDate="5/6/03";
Date currentDate=null;
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT,
Locale.US);//第一个参数设置显示给定的显示风格,有如下几种
//SHORT - 完全是数字:1/2/99
//MEDIUM - 缩写月份:Feb 1, 1999
//LONG - 完整的月份名称:February 1, 1999
//FULL - 全部指定:Saturday, February 1, 1999 AD
//第2个参数设置给定的区域及国家或地区
try{
currentDate=df.parse(strDate);
System.out.println(currentDate);
}catch(Exception e){
e.printStackTrace();
}
}
}
 
后退
顶部