说明:
在android中经常会遇到Calendar与Date之间的转换,如果不了解它们的数值差异,容易出现显示错误。
这里使用例子说明两个对象年月日之间的定义差异。
这两个对象的效率不算高,但是用在android和java基本够用了。
Calendar与Date之间年月日的对应关系:
Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR) - 1900; int month = calendar.get(Calendar.MONTH) + 1; int day = calendar.get(Calendar.DAY_OF_MONTH); Date now = new Date(year, month, day); |
Calendar对应到正常的千位年份,月份也是从0开始。
Date对应从1900开始的百位年份,月份从1开始。
获取当前时间:
Date oldDate = new Date(); Calendar oldCalendar = Calendar.getInstance(); |
转换:
//使用Date设置Calendar oldCalendar.setTime(oldDate); //使用Calendar设置Date oldDate.setTime(Calendar.getInstance().getTimeInMillis()); |
关于: