日期:2014-05-20 浏览次数:21131 次
String yearStr = "2012";
String monthStr = "5";
String dayStr = "10";
String hourStr = "18"; // 24进制
String minuteStr = "2";
String secondStr = "33";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s= yearStr + "-" + monthStr + "-" + dayStr + " " + hourStr + ":" + minuteStr + ":" + secondStr;
try {
System.out.println(sdf.format(sdf.parse(s)));
System.out.println(sdf.parse(s).getTime());
} catch (ParseException e) {
e.printStackTrace();
}
------解决方案--------------------
别忘记了,你处于 GMT+8 的时区上!
import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; public class Test { public static void main(String[] args) { DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); format.setTimeZone(TimeZone.getTimeZone("GMT")); Date date = parseDate("1970-01-01 00:01:02", format); System.out.println(date.getTime()); } public static Date parseDate(String str, DateFormat format) { Date date = null; try { date = format.parse(str); } catch (ParseException e) { e.printStackTrace(); } return date; } }
------解决方案--------------------
实际上 Unix 纪元的毫秒值是以 UTC 时间 1970 年 1 月 1 日 0 时开始算起的。准备确地说,上面的 TimeZone 应该使用世界协调时:format.setTimeZone(TimeZone.getTimeZone("UTC"));
就秒以上单位的计时而言,可以认为 UTC 与 GMT 是一样的。
------解决方案--------------------
String year="1970";
String month="1";
String day="1";
String hour="00"; // 24进制
String minute="01";
String second="02";
Calendar c=Calendar.getInstance();
c.set(Integer.parseInt(year), Integer.parseInt(month)-1, Integer.parseInt(day),
Integer.parseInt(hour), Integer.parseInt(minute), Integer.parseInt(second));
long a1=c.getTimeInMillis();
System.out.println(a1);
System.out.println(c.getTime().getTime());
String str = String.format("%tF %<tT", a1);
System.out.println("str:"+str);
------解决方案--------------------