我想将日期转换为时间戳,但收到如下错误。
我如何获得时间戳?
我正在获得日,月,年,并希望转换为时间戳,但会收到错误。
代码: -
String dob1=year+"-"+month+"-"+day;
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'");
Date date = null;
try {
date = (Date)formatter.parse(dob1);
} catch (ParseException e) {
e.printStackTrace();
}
String dob= String.valueOf(date.getTime());
System.out.println("Today is " +date.getTime());
错误: -
W/System.err: java.text.ParseException: Unparseable date: "1903-MAR-1"
W/System.err: at android.icu.text.DateFormat.parse(DateFormat.java:651)
W/System.err: at com.a98fit.neeraj.a98fit.Age$4.onClick(Age.java:154)
W/System.err: at android.view.View.performClick(View.java:5612)
W/System.err: at android.view.View$PerformClick.run(View.java:22285)
W/System.err: at android.os.Handler.handleCallback(Handler.java:751)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:95)
W/System.err: at android.os.Looper.loop(Looper.java:154)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:6123)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.a98fit.neeraj.a98fit, PID: 31261
java.lang.NullPointerException: Attempt to invoke virtual method 'long java.util.Date.getTime()' on a null object reference
at com.a98fit.neeraj.a98fit.Age$4.onClick(Age.java:158)
at android.view.View.performClick(View.java:5612)
at android.view.View$PerformClick.run(View.java:22285)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6123)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)
答案 0 :(得分:0)
将日期字符串与SimpleDateFormat
模式匹配
使用它:
String your_Date="1903-Mar-1";
DateFormat formatter = new SimpleDateFormat("yyyy-MMM-dd");
Date date = null;
try {
date = (Date)formatter.parse(dob1);
String dob= String.valueOf(date.getTime());
System.out.println("TimeStamp: " +date.getTime());
} catch (ParseException e) {
e.printStackTrace();
}
了解更多关于SimpleDateFormat
浏览This
答案 1 :(得分:0)
可能每个人都在这个日期格式中遇到问题。所以,我的解决方案已经完成了joda-time库
.. here 您也可以使用这些问题。 SimpleDateFormat在转换ISO模式时遇到问题。我使用这个解决方案。我不知道为什么。