使用 joda-time这个第三方关于时间的库。 // 7:40:20.500 AM on February 7, 2000 DateTime start = new DateTime(2000, 2, 7, 7, 40, 20, 500); // 3:30:45.100 PM on July 4, 2008 DateTime end = new DateTime(2008, 7, 4, 15, 30, 45, 100); // Years Years years = Years.yearsBetween(start, end); System.out.println("years = " + years.getYears()); // Months Months months = Months.monthsBetween(start, end); System.out.println("months = " + months.getMonths()); // Weeks Weeks weeks = Weeks.weeksBetween(start, end); System.out.println("weeks = " + weeks.getWeeks()); // Days Days days = Days.daysBetween(start, end); System.out.println("days = " + days.getDays()); // Hours Hours hours = Hours.hoursBetween(start, end); System.out.println("hours = " + hours.getHours()); // Minutes Minutes minutes = Minutes.minutesBetween(start, end); System.out.println("minutes = " + minutes.getMinutes()); // Seconds Seconds seconds = Seconds.secondsBetween(start, end); System.out.println("seconds = " + seconds.getSeconds());
package test;import java.util.ArrayList; import java.util.Calendar; import java.util.List;public class Test {
public static List<Integer> getYears(long start,long end){ //存储着年份列表 List<Integer> years = new ArrayList<Integer>(); //创建开始时间 Calendar startCalendar = Calendar.getInstance(); startCalendar.setTimeInMillis(start); //创建结束时间 Calendar endCalendar = Calendar.getInstance(); endCalendar.setTimeInMillis(end); //得到这两个时间毫秒值的年份 int startYear = startCalendar.get(Calendar.YEAR); int endYear = endCalendar.get(Calendar.YEAR); //得到这两个年份之间的年份保存到years中,注意这里把这两个毫秒值的年份也加进来来,如果不想要请自行处理吧 while(startYear <= endYear){ years.add(startYear); startYear++; } //返回出去 return years; }
public static void main(String[] args) { long start = 1; long end = 10053454240024L; List<Integer> list = Test.getYears(start, end); for(Integer year : list){ System.out.println(year); } } }
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); java.util.Date now = df.parse("2010-07-24 13:31:40"); java.util.Date date = df.parse("2012-12-12 11:30:24"); long passtime = date.getTime() - now.getTime(); long year = passtime / (24 * 60 * 60 * 1000)/365; long day = passtime / (24 * 60 * 60 * 1000); long hour = (passtime / (60 * 60 * 1000) - day * 24); long min = ((passtime / (60 * 1000)) - day * 24 * 60 - hour * 60); long s = (passtime / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60); System.out.println("" + year + "年" + day + "天" + hour + "小时" + min + "分" + s + "秒");
DateTime start = new DateTime(2000, 2, 7, 7, 40, 20, 500); // 3:30:45.100 PM on July 4, 2008
DateTime end = new DateTime(2008, 7, 4, 15, 30, 45, 100); // Years
Years years = Years.yearsBetween(start, end);
System.out.println("years = " + years.getYears()); // Months
Months months = Months.monthsBetween(start, end);
System.out.println("months = " + months.getMonths()); // Weeks
Weeks weeks = Weeks.weeksBetween(start, end);
System.out.println("weeks = " + weeks.getWeeks()); // Days
Days days = Days.daysBetween(start, end);
System.out.println("days = " + days.getDays()); // Hours
Hours hours = Hours.hoursBetween(start, end);
System.out.println("hours = " + hours.getHours()); // Minutes
Minutes minutes = Minutes.minutesBetween(start, end);
System.out.println("minutes = " + minutes.getMinutes()); // Seconds
Seconds seconds = Seconds.secondsBetween(start, end);
System.out.println("seconds = " + seconds.getSeconds());
import java.util.Calendar;
import java.util.List;public class Test {
public static List<Integer> getYears(long start,long end){
//存储着年份列表
List<Integer> years = new ArrayList<Integer>();
//创建开始时间
Calendar startCalendar = Calendar.getInstance();
startCalendar.setTimeInMillis(start);
//创建结束时间
Calendar endCalendar = Calendar.getInstance();
endCalendar.setTimeInMillis(end);
//得到这两个时间毫秒值的年份
int startYear = startCalendar.get(Calendar.YEAR);
int endYear = endCalendar.get(Calendar.YEAR);
//得到这两个年份之间的年份保存到years中,注意这里把这两个毫秒值的年份也加进来来,如果不想要请自行处理吧
while(startYear <= endYear){
years.add(startYear);
startYear++;
}
//返回出去
return years;
}
public static void main(String[] args) {
long start = 1;
long end = 10053454240024L;
List<Integer> list = Test.getYears(start, end);
for(Integer year : list){
System.out.println(year);
}
}
}
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date now = df.parse("2010-07-24 13:31:40");
java.util.Date date = df.parse("2012-12-12 11:30:24");
long passtime = date.getTime() - now.getTime();
long year = passtime / (24 * 60 * 60 * 1000)/365;
long day = passtime / (24 * 60 * 60 * 1000);
long hour = (passtime / (60 * 60 * 1000) - day * 24);
long min = ((passtime / (60 * 1000)) - day * 24 * 60 - hour * 60);
long s = (passtime / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
System.out.println("" + year + "年" + day + "天" + hour + "小时" + min
+ "分" + s + "秒");