我不知道他时间是什么格式,它String可能是1985-8-1或者1985-12或者是1985,我有全能什么方法将string转换成date
解决方案 »
- Hibernate用Unique约束列做外键,如何配置?
- 急! 急! 急!跪求正则表达式高手帮忙!!!
- java如何获得windows操作系统的当前窗口
- JDK帮助文当中为什么没有dt.jar等jre环境中必需的类库的API说明
- 到中兴公司培训过的进,说说去中兴公司培训好不好啊!
- EJB,sun A S服务启动异常 超强,身边人都不知道!
- Struts下,如何是页面加载就要显示数据
- hibernate 4中使用3cp0 Spring找不到对应set方法
- 关于 setAutoCommit() method ?
- 怎样让Jbuilder的EJB向导可用
- Hibernate组建映射问题
- 《求教高手》Oracle Text 模糊查询方法
java.sql.Date create = new java.sql.Date(date.getTime());
java.sql.Date create = new java.sql.Date(date.getTime()); //然后根据根式生成日期
如果可以确定,那就判断split("-")后的数组长度,根据长度可以判断是那种格式,然后再去选择SimpleDateFormat实例化时候的构造参数。
private static void print(String date) throws Exception{
//默认的时间格式
String sign = "-";
//需要更多的自己添加
String regex ="[-|:]";
Matcher m = Pattern.compile(regex).matcher(date);
int len =0;
while(m.find()){
len ++;
sign = m.group();
}
if(len == 1){
date += sign+"01";
}
if(len == 0){
date += sign+"01"+sign+"01";
}
if(len > 2){
return ;
}
parse(date,sign);
}
private static void parse(String source, String sign) throws Exception{
java.util.Date date = new SimpleDateFormat("yyyy"+sign+"MM"+sign+"dd").parse(source); //格式化要转个的格式
java.sql.Date create = new java.sql.Date(date.getTime()); //然后根据根式生成日期
System.out.println(create);
}
试试这个
只能一个一个判断
不过个人认为只需要三种情况:
1985
1985-12 1985-1
1985-12-11 1985-1-1
根据这三种情况自己弄simpledateformat转化就行了