600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 时间操作(Java版)—将毫秒转换为年月日时分秒

时间操作(Java版)—将毫秒转换为年月日时分秒

时间:2022-07-04 18:06:23

相关推荐

时间操作(Java版)—将毫秒转换为年月日时分秒

第一种方式:

import java.util.Calendar;import java.util.TimeZone;public class Test {/*** 将毫秒转换为年月日时分秒* * @author GaoHuanjie*/public String getYearMonthDayHourMinuteSecond(long timeMillis) {Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+8")); calendar.setTimeInMillis(timeMillis);int year=calendar.get(Calendar.YEAR);int month=calendar.get(Calendar.MONTH) + 1;String mToMonth=null;if (String.valueOf(month).length()==1) {mToMonth="0"+month;} else {mToMonth=String.valueOf(month);}int day=calendar.get(Calendar.DAY_OF_MONTH);String dToDay=null;if (String.valueOf(day).length()==1) {dToDay="0"+day;} else {dToDay=String.valueOf(day);}int hour=calendar.get(Calendar.HOUR_OF_DAY);String hToHour=null;if (String.valueOf(hour).length()==1) {hToHour="0"+hour;} else {hToHour=String.valueOf(hour);}int minute=calendar.get(Calendar.MINUTE);String mToMinute=null;if (String.valueOf(minute).length()==1) {mToMinute="0"+minute;} else {mToMinute=String.valueOf(minute);}int second=calendar.get(Calendar.SECOND);String sToSecond=null;if (String.valueOf(second).length()==1) {sToSecond="0"+second;} else {sToSecond=String.valueOf(second);}return year+ "-" +mToMonth+ "-" +dToDay+ " "+hToHour+ ":" +mToMinute+ ":" +sToSecond; }public static void main(String[] args) {System.out.println(new Test().getYearMonthDayHourMinuteSecond(System.currentTimeMillis()));}}

第二种方式:

public class Test {/*** 将毫秒转换为年月日时分秒* * @author GaoHuanjie*/public String getYearMonthDayHourMinuteSecond(long timeMillis) {int timezone = 8; // 时区long totalSeconds = timeMillis / 1000;totalSeconds += 60 * 60 * timezone;int second = (int) (totalSeconds % 60);// 秒long totalMinutes = totalSeconds / 60;int minute = (int) (totalMinutes % 60);// 分long totalHours = totalMinutes / 60;int hour = (int) (totalHours % 24);// 时int totalDays = (int) (totalHours / 24);int _year = 1970;int year = _year + totalDays / 366;int month = 1;int day = 1;int diffDays;boolean leapYear;while (true) {int diff = (year - _year) * 365;diff += (year - 1) / 4 - (_year - 1) / 4;diff -= ((year - 1) / 100 - (_year - 1) / 100);diff += (year - 1) / 400 - (_year - 1) / 400;diffDays = totalDays - diff;leapYear = (year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0);if (!leapYear && diffDays < 365 || leapYear && diffDays < 366) {break;} else {year++;}}int[] monthDays;if (diffDays >= 59 && leapYear) {monthDays = new int[] { -1, 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 };} else {monthDays = new int[] { -1, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 };}for (int i = monthDays.length - 1; i >= 1; i--) {if (diffDays >= monthDays[i]) {month = i;day = diffDays - monthDays[i] + 1;break;}}return year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second;}public static void main(String[] args) {System.out.println(new Test().getYearMonthDayHourMinuteSecond(System.currentTimeMillis()));}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。