@Slf4j public class TimeTest { private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); /** * @Description: 修改特定的时间 * @param: * @date: 2020/1/16 22:02 */ @Test public void test01(){ Date date = new Date(); try { date = sdf.parse("1970-11-9 6:32:25"); } catch (ParseException e) { log.info("转换失败:{}",e.getMessage()); } Calendar calendar = Calendar.getInstance(); calendar.setTime(date); BigDecimal bigDecimal = new BigDecimal(1.55); int i = 90; float j =9.89F; double k = 0.23D; byte l=4; transDateByDate(calendar.getTime(),bigDecimal); System.out.println("**********1********"); transDateByDate(calendar.getTime(),i); System.out.println("**********2********"); transDateByDate(calendar.getTime(),j); System.out.println("***********3*******"); transDateByDate(calendar.getTime(),k); System.out.println("***********4*******"); transDateByDate(calendar.getTime(),l); } private<T extends Number> void transDateByDate(Date date, T data) { double v = data.doubleValue(); String s = String.valueOf(v).toString(); System.out.println(s); String[] split = s.split("\\."); System.out.println(split.length); if (split.length>1){ String s1 = split[0]; System.out.println(s1); String s2 = split[1]; System.out.println(s2); s2="0."+s2; Calendar calendar = Calendar.getInstance(); calendar.setTime(date); System.out.println(sdf.format(calendar.getTime()).trim()); calendar.add(Calendar.YEAR,-Integer.valueOf(s1)); System.out.println(Math.floor(Double.valueOf(s2)*12)); calendar.add(Calendar.MONTH,-Integer.valueOf((int) Math.floor(Double.valueOf(s2)*12))); Date newTime = calendar.getTime(); String stringDate = sdf.format(newTime).trim(); System.out.println(stringDate); } } }
结果:
1.55
2
1
55
1970-11-09 06:32:25
6.0
1969-05-09 06:32:25
**********1********
90.0
2
90
0
1970-11-09 06:32:25
0.0
1880-11-09 06:32:25
**********2********
9.890000343322754
2
9
890000343322754
1970-11-09 06:32:25
10.0
1961-01-09 06:32:25
***********3*******
0.23
2
0
23
1970-11-09 06:32:25
2.0
1970-09-09 06:32:25
***********4*******
4.0
2
4
0
1970-11-09 06:32:25
0.0
1966-11-09 06:32:25
原文:https://www.cnblogs.com/fdy-study-consist/p/12203825.html