将秒转换为年、月、周、小时、分钟和秒
Convert seconds into years, months, weeks, hours, minutes and seconds
我正在努力寻找将秒转换为年、月、周、小时、分钟、秒的解决方案。
示例:
public Time(int inputSeconds) {
int years = 0;
int months = 0;
int weeks = 0;
int days = 0;
int hours = 0;
int seconds = 0;
}
首先我的建议是将时间变量类型从 int 更改为 long。
Date class 中有某些方法可以帮助您实现此目的,但请记住,这些方法目前已被弃用。
import java.util.Date;
import java.util.Random;
class MyTime {
int years;
int months;
int day;
int hours;
int seconds;
public MyTime(long inputSeconds) {
Date d = new Date(inputSeconds);
this.years = d.getYear();
this.months = d.getMonth();
this.day = d.getDay();
this.hours = d.getHours();
this.seconds = d.getSeconds();
}
public static void main(String[] args) {
new MyTime(new Date().getTime()).show();
}
public void show() {
System.out.println("" + years + "");
System.out.println("" + months + "");
System.out.println("" + day + "");
System.out.println("" + hours + "");
System.out.println("" + seconds + "");
}
}
对于周、日、小时、分钟和秒,可以在转换中使用一些简单的数学运算,例如:
int weeks = seconds / 604800;
int days = (seconds % 604800) / 86400;
int hours = ((seconds % 604800) % 86400) / 3600;
int minutes = (((seconds % 604800) % 86400) % 3600) / 60;
seconds = (((seconds % 604800) % 86400) % 3600) % 60;
语法只是为了让你了解以前的值来自哪里。
年和月这取决于月份(例如二月有更少天比其他任何天),以及是否考虑闰年(366 天)。
我正在努力寻找将秒转换为年、月、周、小时、分钟、秒的解决方案。
示例:
public Time(int inputSeconds) {
int years = 0;
int months = 0;
int weeks = 0;
int days = 0;
int hours = 0;
int seconds = 0;
}
首先我的建议是将时间变量类型从 int 更改为 long。
Date class 中有某些方法可以帮助您实现此目的,但请记住,这些方法目前已被弃用。
import java.util.Date;
import java.util.Random;
class MyTime {
int years;
int months;
int day;
int hours;
int seconds;
public MyTime(long inputSeconds) {
Date d = new Date(inputSeconds);
this.years = d.getYear();
this.months = d.getMonth();
this.day = d.getDay();
this.hours = d.getHours();
this.seconds = d.getSeconds();
}
public static void main(String[] args) {
new MyTime(new Date().getTime()).show();
}
public void show() {
System.out.println("" + years + "");
System.out.println("" + months + "");
System.out.println("" + day + "");
System.out.println("" + hours + "");
System.out.println("" + seconds + "");
}
}
对于周、日、小时、分钟和秒,可以在转换中使用一些简单的数学运算,例如:
int weeks = seconds / 604800;
int days = (seconds % 604800) / 86400;
int hours = ((seconds % 604800) % 86400) / 3600;
int minutes = (((seconds % 604800) % 86400) % 3600) / 60;
seconds = (((seconds % 604800) % 86400) % 3600) % 60;
语法只是为了让你了解以前的值来自哪里。
年和月这取决于月份(例如二月有更少天比其他任何天),以及是否考虑闰年(366 天)。