日期时间练习题一
Java
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public static void dayByDay() throws Exception { String str1 = "2019-10-10 08:30:00"; String str2 = "2019-10-11 11:00:00"; SimpleDateFormat spf = new SimpleDateFormat("yyyy-MM-dd HH:mm:SS"); Date date11 = spf.parse(str1); Date date22 = spf.parse(str2); Calendar c = Calendar.getInstance(); long time1 = date11.getTime(); long time2 = date22.getTime(); c.setTimeInMillis(time2-time1); int day1 = c.get(Calendar.DAY_OF_MONTH); int hour1 = c.get(Calendar.HOUR); int min1 = c.get(Calendar.MINUTE); int sec1 = c.get(Calendar.SECOND); c.setTimeInMillis(0); int day2 = c.get(Calendar.DAY_OF_MONTH); int hour2 = c.get(Calendar.HOUR); int min2 = c.get(Calendar.MINUTE); int sec2 = c.get(Calendar.SECOND); System.out.println("时间差:"+(day1-day2)+"天"+(hour1-hour2)+"小时"+(min1-min2)+"分"+(sec1-sec2)+"秒"); }
Python
import time time1 = time.mktime(time.strptime('2019-10-10 08:30:00', '%Y-%m-%d %H:%M:%S')) # 时间字符串 -> 结构化时间 -> 时间戳 time2 = time.mktime(time.strptime('2019-10-11 11:00:00', '%Y-%m-%d %H:%M:%S')) # strptime() mktime() dif_time = time2-time1 # 时间戳做差 struct_time = time.localtime(dif_time) # 时间戳 -> 结构化时间 print('时间差 %d年%d月%d天%d小时%d分钟%d秒' % (struct_time.tm_year-1970, struct_time.tm_mon-1, struct_time.tm_mday-1, struct_time.tm_hour, struct_time.tm_min, struct_time.tm_sec))