Java 字符串时间格式
Java String Time Formatting
没有 if ( hours > 0 )
有没有办法做到这一点?我觉得必须有一种方法来指示数字的条件显示,但我无法在 javadocs 或 google.
中找到它
public String getLengthDisplay () {
int hours = getLength() / 3600;
int minutes = ( getLength() % 3600 ) / 60;
int seconds = getLength() % 60;
if ( hours > 0 ) {
return String.format ( "%d:%02d:%02d", hours, minutes, seconds );
} else {
return String.format ( "%d:%02d", minutes, seconds );
}
}
谢谢!
format()
没办法,只有 trim 个前导零:
return String.format("%d:%02d:%02d", hours, minutes, seconds)
.replaceAll("^0:(00:)?", "");
如果小时和分钟都为零,此代码还 trims 分钟。如果您总是想要会议记录,请从此代码中删除 (00:)?
。
我认为如果没有 hour > 0 条件,代码将不会灵活。
修剪也是一个不错的选择。
/**
* This method is used to get the Execution Time
* by calculating the difference between StartTime and EndTime
*
* @param StartTime Execution Start Time
* @param EndTime Execution End Time
* @return Total Execution Time
*/
private static String ExecutionTime(String StartTime, String EndTime){
LocalTime fromDateTime = LocalTime.parse(StartTime);
LocalTime toDateTime = LocalTime.parse(EndTime);
LocalTime tempDateTime = LocalTime.from( fromDateTime );
long hours = tempDateTime.until( toDateTime, ChronoUnit.HOURS);
tempDateTime = tempDateTime.plusHours( hours );
long minutes = tempDateTime.until( toDateTime, ChronoUnit.MINUTES);
tempDateTime = tempDateTime.plusMinutes( minutes );
long seconds = tempDateTime.until( toDateTime, ChronoUnit.SECONDS);
if(hours > 0){
return hours + "h " +minutes + "min " + seconds + "s";
}else{
return minutes + "min " + seconds + "s";
}
}
检查上面的代码,其中return时分秒格式,如果需要也可以添加分钟条件。
没有 if ( hours > 0 )
有没有办法做到这一点?我觉得必须有一种方法来指示数字的条件显示,但我无法在 javadocs 或 google.
public String getLengthDisplay () {
int hours = getLength() / 3600;
int minutes = ( getLength() % 3600 ) / 60;
int seconds = getLength() % 60;
if ( hours > 0 ) {
return String.format ( "%d:%02d:%02d", hours, minutes, seconds );
} else {
return String.format ( "%d:%02d", minutes, seconds );
}
}
谢谢!
format()
没办法,只有 trim 个前导零:
return String.format("%d:%02d:%02d", hours, minutes, seconds)
.replaceAll("^0:(00:)?", "");
如果小时和分钟都为零,此代码还 trims 分钟。如果您总是想要会议记录,请从此代码中删除 (00:)?
。
我认为如果没有 hour > 0 条件,代码将不会灵活。 修剪也是一个不错的选择。
/**
* This method is used to get the Execution Time
* by calculating the difference between StartTime and EndTime
*
* @param StartTime Execution Start Time
* @param EndTime Execution End Time
* @return Total Execution Time
*/
private static String ExecutionTime(String StartTime, String EndTime){
LocalTime fromDateTime = LocalTime.parse(StartTime);
LocalTime toDateTime = LocalTime.parse(EndTime);
LocalTime tempDateTime = LocalTime.from( fromDateTime );
long hours = tempDateTime.until( toDateTime, ChronoUnit.HOURS);
tempDateTime = tempDateTime.plusHours( hours );
long minutes = tempDateTime.until( toDateTime, ChronoUnit.MINUTES);
tempDateTime = tempDateTime.plusMinutes( minutes );
long seconds = tempDateTime.until( toDateTime, ChronoUnit.SECONDS);
if(hours > 0){
return hours + "h " +minutes + "min " + seconds + "s";
}else{
return minutes + "min " + seconds + "s";
}
}
检查上面的代码,其中return时分秒格式,如果需要也可以添加分钟条件。