我正在尝试将String格式的日期转换为UNIX时间戳,我能够转换它但是当我检查时间戳时它显示错误的日期。
我使用以下代码将String中的Date转换为Unix时间戳:
String selected_date = "16/11/2015 1:34 am";
datetime.setText(selected_date);
DateFormat dateFormat = new SimpleDateFormat("MM/dd/yy hh:mm a");
Date date = null;
try {
date = dateFormat.parse(selected_date);
} catch (ParseException e) {
e.printStackTrace();
}
long unixTime = (long)date.getTime()/1000;
输出UNIX时间戳为:1460309640
但是当我使用网络工具转换该时间戳时,它会返回:4/11/2016, 1:34:00 AM
答案 0 :(得分:4)
格式
DateFormat dateFormat = new SimpleDateFormat("MM/dd/yy hh:mm a");
与字符串
不兼容String selected_date = "16/11/2015 1:34 am";
16不能一个月!
2015年不是两位数格式的一年
正确的格式似乎是(不确定kk或KK是否取决于小时数是否为0)
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy kk:mm a");