秒数转换为时分秒时间格式的函数-六种语言(TypeScript,JavaScript,Java,Python,Shell,PowerShell)
要在TypeScript中编写一个将秒数转换为时间格式(HH:mm:ss)的函数,可以如下实现:
function secondsToTime(seconds: number): string {
const hours = Math.floor(seconds / 3600);
const minutes = Math.floor((seconds % 3600) / 60);
const sec = seconds % 60;
// 将小时、分钟和秒转换为两位数格式
const formattedHours = hours.toString().padStart(2, '0');
const formattedMinutes = minutes.toString().padStart(2, '0');
const formattedSeconds = sec.toString().padStart(2, '0');
return `${formattedHours}:${formattedMinutes}:${formattedSeconds}`;
}
// 测试函数
console.log(secondsToTime(3661)); // 输出 "01:01:01"
JavaScript
function secondsToTime(seconds) {
const hours = Math.floor(seconds / 3600);
const minutes = Math.floor((seconds % 3600) / 60);
const sec = seconds % 60;
// 将小时、分钟和秒转换为两位数格式
const formattedHours = hours.toString().padStart(2, '0');
const formattedMinutes = minutes.toString().padStart(2, '0');
const formattedSeconds = sec.toString().padStart(2, '0');
return `${formattedHours}:${formattedMinutes}:${formattedSeconds}`;
}
// 测试函数
console.log(secondsToTime(3661)); // 输出 "01:01:01"
Java
public class Main {
public static void main(String[] args) {
System.out.println(secondsToTime(3661)); // 输出 "01:01:01"
}
public static String secondsToTime(int seconds) {
int hours = seconds / 3600;
int minutes = (seconds % 3600) / 60;
int sec = seconds % 60;
// 将小时、分钟和秒转换为两位数格式
String formattedHours = String.format("%02d", hours);
String formattedMinutes = String.format("%02d", minutes);
String formattedSeconds = String.format("%02d", sec);
return formattedHours + ":" + formattedMinutes + ":" + formattedSeconds;
}
}
Python
def seconds_to_time(seconds):
hours = seconds // 3600
minutes = (seconds % 3600) // 60
sec = seconds % 60
# 将小时、分钟和秒转换为两位数格式
formatted_hours = str(hours).zfill(2)
formatted_minutes = str(minutes).zfill(2)
formatted_seconds = str(sec).zfill(2)
return f"{formatted_hours}:{formatted_minutes}:{formatted_seconds}"
# 测试函数
print(seconds_to_time(3661)) # 输出 "01:01:01"
Bash Shell
#!/bin/bash
seconds_to_time() {
local seconds="$1"
local hours=$(( seconds / 3600 ))
local minutes=$(( (seconds % 3600) / 60 ))
local sec=$(( seconds % 60 ))
# 将小时、分钟和秒转换为两位数格式
local formatted_hours=$(printf "%02d" $hours)
local formatted_minutes=$(printf "%02d" $minutes)
local formatted_seconds=$(printf "%02d" $sec)
echo "${formatted_hours}:${formatted_minutes}:${formatted_seconds}"
}
# 测试函数
echo $(seconds_to_time 3661) # 输出 "01:01:01"
PowerShell
function SecondsToTime {
param([int]$seconds)
$hours = [math]::Floor($seconds / 3600)
$minutes = [math]::Floor(($seconds % 3600) / 60)
$sec = $seconds % 60
# 将小时、分钟和秒转换为两位数格式
$formattedHours = "{0:D2}" -f $hours
$formattedMinutes = "{0:D2}" -f $minutes
$formattedSeconds = "{0:D2}" -f $sec
return "$formattedHours:$formattedMinutes:$formattedSeconds"
}
# 测试函数
Write-Output (SecondsToTime 3661) # 输出 "01:01:01"