日期:2014-05-20 浏览次数:20968 次
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);
------解决方案--------------------