如何把“time=1330443881769”转化为"yyyy-MM-dd HH:mm:ss"

来源:互联网 发布:高中数学秦九韶算法 编辑:程序博客网 时间:2024/06/14 21:48
1.弄清楚time=1330443881769代表什么?
Calendar calendar = Calendar.getInstance();
System.out.println(calendar);
执行以上代码,会得到
java.util.GregorianCalendar[time=1330443881769,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2012,MONTH=1,WEEK_OF_YEAR=9,WEEK_OF_MONTH=5,DAY_OF_MONTH=28,DAY_OF_YEAR=59,DAY_OF_WEEK=3,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=11,HOUR_OF_DAY=23,MINUTE=44,SECOND=41,MILLISECOND=769,ZONE_OFFSET=28800000,DST_OFFSET=0]

发现time其实是类Calendar的一个字段,帮助文档解释如下

time
protected long time日历的当前设置时间,以毫秒为单位,表示自格林威治标准时间 1970 年 1月 1 日0:00:00 后经过的时间。
2.解决问题的代码如下:
long time = 1330443881769L;
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(time);
Date date = calendar.getTime();
      
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//日期格式
String now = df.format(date);
System.out.println(now);
执行得到的结果为:2012-02-28 23:44:41

如果想在Java的世界里,灵活地操作日期,还需好好研究研究Date、Calendar等类。

原创粉丝点击