谷歌如何计算时间

时间:2014-05-29 00:25:47

标签: java calculator

我正在开发一个java程序,它计算一定数量的秒数,包括年,天,小时,一直到计划。我可以进入谷歌搜索栏" 31年,259天,5小时,54分钟"并且我会得到一个结果陈述" 31.7097916年。"它如何计算?如果可能的话,我想在我的程序中实现它。

1 个答案:

答案 0 :(得分:3)

算一算,31年,259天,5小时54分钟

float total = 31f;

// Days to years
total = 259 / 365;

// Hours to years
total = total + ((5 / 24) / 365);

// Minutes to years
total = total + (((54 / 60) / 24) / 365);

System.out.println("Total = " + total);

正如您所看到的,这有一个逻辑。对于更复杂(但仍然非常简单)的实现

public float daysToYear(int days){
    return days / 365;
}

public float hoursToYear(int hours){
    return (hours / 24) / 365;
}

public float minsToYear(int mins){
    return ((min / 60) / 24) / 365;
}

public float secsToYear(int secs){
    return (((secs / 60) / 60) / 24) / 365;
}

public float millisToYear(int millis){
    return ((((millis / 1000) / 60) / 60) / 24) / 365;
}

正如您所看到的,这些转换本身可以简化和修改,以适应您需要的任何内容;例如,您可以将millisToYear()简化为

public float millisToYear(double millis){
    return secsToYear(millis/1000);
}

注意参数类型的变化是从int加倍。当然,正如下面的评论中所提到的,如果你想要实现更多的复杂性(时区,闰年等),那么你需要考虑这些。再次,简单的逻辑。如果你需要帮助评论,我会改进我的答案,如果你对它非常好:P