public class TimeStamp {
public double dayDate;
public int month = 0;
public int hour;
public long getYear/*and day~~~~~~~~*/() {
return (int) (System.currentTimeMillis() / (1461 * 24 * 3600d * 1000) * 4 + 1970);
}
public int getMonth() {
//用总天数day-已经过去年份的天数,然后减去每个月的天数,挨个月份遍历
//先求天数:
double day = (long) (System.currentTimeMillis() / (24 * 3600d * 1000));
int passYearDays = 0;//完整年过去的天数
int[] rMonth = new int[]{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};//闰年月天数
int[] pMonth = new int[]{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};//平年月天数
for (int c = 1970; c < getYear(); c++)//计算天数循环,到2015年整个结束共计的天数
{
int a = 365;
if (c % 4 == 0)
a = 366;
passYearDays = passYearDays + a;//总计从时间戳开始过去完整年的天数
}
double leftDays = 0;//完整年减去后剩下的天数
leftDays = System.currentTimeMillis() / (24 * 3600d * 1000) - passYearDays;
leftDays = (int) leftDays;
//剩下的天数返回的是对的===========================================================
//=======================================================
//创造一个for循环一个月一个月的遍历减去天数
for (int i = 0; i <= 11; i++) {//==============开始计算平年
if (getYear() % 4 != 0) {
if (leftDays <= pMonth[i] && leftDays >= 1) {
dayDate = leftDays;
break;
}
if (leftDays >= pMonth[i]) {
leftDays = leftDays - pMonth[i];
month++;
}
}
if (getYear() % 4 == 0) {
if (leftDays <= rMonth[i] && leftDays >= 1) {
dayDate = leftDays;
break;
}
if (leftDays >= rMonth[i]) {
leftDays = leftDays - rMonth[i];
month++;
}
}
}
return month + 1;
}
public int getDate() {
return (int) dayDate + 1;
}
public String getHour() {
int hourTemp, passDays;
String hTemp = "";
passDays = (int) (System.currentTimeMillis() / (24 * 3600d * 1000));
hourTemp =
(int) ((System.currentTimeMillis() - passDays * 24 * 3600d * 1000) / (3600 * 1000d) + 8);
if (hourTemp <= 9)
hTemp = "0" + hourTemp;
else
hTemp = "" + hourTemp;
return hTemp;
}
public String getMinute() {
int passHours, minuteTemp;
String mTemp = "";
passHours = (int) (System.currentTimeMillis() / (3600 * 1000d));
minuteTemp = (int) ((System.currentTimeMillis() - passHours * 3600 * 1000d) / 60 / 1000);
if (minuteTemp <= 9)
mTemp = "0" + minuteTemp;
if (minuteTemp > 9)
mTemp = minuteTemp + "";
return mTemp;
}
public String getSecond() {
int secondTemp, passMinutes;
String sTemp = "";
passMinutes = (int) (System.currentTimeMillis() / (60 * 1000d));
secondTemp = (int) ((System.currentTimeMillis() - passMinutes * 60 * 1000d) / 1000);
if (secondTemp <= 9)
sTemp = "0" + secondTemp;
if (secondTemp > 9)
sTemp = secondTemp + "";
return sTemp;
}
public static void main(String args[]) {
TimeStamp time = new TimeStamp();
System.out.println(time.getYear() + "年" + time.getMonth() + "月" + time.getDate() + "日 " + time.getHour() + ":" + time.getMinute() + ":" + time.getSecond());
}
}
网友评论