当前位置: 代码迷 >> J2SE >> 字符串转日期,输入是2012,输出的结果是2011,这步骤看不懂了
  详细解决方案

字符串转日期,输入是2012,输出的结果是2011,这步骤看不懂了

热度:83   发布时间:2016-04-24 00:22:12.0
字符串转日期,输入是2012,输出的结果是2011,这方法看不懂了~
Java code
import java.sql.Timestamp;import java.text.ParsePosition;import java.text.SimpleDateFormat;import java.util.Date;public class Test {     public static void main(String[] args) {                 System.out.println(fmtStr2Date("2012-06-21 10:00:0000","yyyyMMddHHmmss").toString());             }     public static Date fmtStr2Date(String strDate, String fmt){            Timestamp dt = null;            if (strDate != null && strDate.equals("") == false) {                try {                    SimpleDateFormat formatter = new SimpleDateFormat(fmt);                    ParsePosition pos = new ParsePosition(0);                    java.util.Date cDate = formatter.parse(strDate, pos);                    dt = new Timestamp(cDate.getTime());                } catch (Exception e) {                                    //logger.error("\nstrDate="+strDate + " fmt="+fmt,e);                }            }            return dt;        }}



输出结果:
2011-12-05 22:01:10.0

我已经湿了,跪求解答。。。。


------解决方案--------------------
给分给分
------解决方案--------------------
后面没有- 前面写- 位数都不对,当然是错的。
------解决方案--------------------
探讨
后面没有- 前面写- 位数都不对,当然是错的。

------解决方案--------------------
是的,格式不对。
------解决方案--------------------
探讨

给分给分

------解决方案--------------------
探讨

擦~~瞬间懂了

------解决方案--------------------
yyyyMMddHHmmss 要改成 yyyy-MM-dd HH:mm:ss
------解决方案--------------------
看下api 字符串格式应该要与格式化一致
------解决方案--------------------
探讨

引用:
后面没有- 前面写- 位数都不对,当然是错的。

+1

------解决方案--------------------
Java code
import java.sql.Timestamp;import java.text.ParsePosition;import java.text.SimpleDateFormat;import java.util.Date;public class Test11 {     public static void main(String[] args) {                 System.out.println(fmtStr2Date("2012-06-21 10:00:0000","yyyy-MM-dd HH:mm:ss").toString());             }     public static Date fmtStr2Date(String strDate, String fmt){            Timestamp dt = null;            if (strDate != null && strDate.equals("") == false) {                try {                    SimpleDateFormat formatter = new SimpleDateFormat(fmt);                    ParsePosition pos = new ParsePosition(0);                    java.util.Date cDate = formatter.parse(strDate, pos);                    dt = new Timestamp(cDate.getTime());                } catch (Exception e) {                                    //logger.error("\nstrDate="+strDate + " fmt="+fmt,e);                }            }            return dt;        }}
------解决方案--------------------
懂了就好,那种满足感,大家都明白。
------解决方案--------------------
接分 既然楼主懂了 那就均分吧 哈哈~~
------解决方案--------------------
  相关解决方案