Skip to content

time

时间单位转换工具。

导入

typescript
import {
  timeFrom,
  timeParse,
  timeToDays,
  timeToHours,
  timeToMinutes,
  timeToSeconds,
  type TimeDuration,
} from '@cloudcome/utils-core/time';

类型定义

TimeDuration

typescript
interface TimeDuration {
  years: number;
  months: number;
  days: number;
  hours: number;
  minutes: number;
  seconds: number;
  milliseconds: number;
}

属性说明

属性类型描述
yearsnumber
monthsnumber
daysnumber
hoursnumber
minutesnumber
secondsnumber
millisecondsnumber毫秒

函数

timeFrom

将时间持续时间转换为毫秒数。

typescript
function timeFrom(duration: string | TimeDuration): number;

参数

参数类型描述
durationstring | TimeDuration时间持续时间,可以是字符串(如 '1h30m')或对象

返回值

number - 毫秒数

示例

typescript
// 字符串格式
timeFrom('1h'); // 3600000
timeFrom('30m'); // 1800000
timeFrom('1h30m'); // 5400000
timeFrom('1d'); // 86400000
timeFrom('1d12h'); // 129600000

// 对象格式
timeFrom({ hours: 1 }); // 3600000
timeFrom({ minutes: 30 }); // 1800000
timeFrom({ hours: 1, minutes: 30 }); // 5400000
timeFrom({ days: 1, hours: 12 }); // 129600000

timeParse

解析时间字符串为 TimeDuration 对象。

typescript
function timeParse(duration: string): TimeDuration;

参数

参数类型描述
durationstring时间字符串,如 '1h30m''1d12h'

返回值

TimeDuration - 解析后的时间对象

示例

typescript
timeParse('1h'); // { years: 0, months: 0, days: 0, hours: 1, minutes: 0, seconds: 0, milliseconds: 0 }
timeParse('30m'); // { years: 0, months: 0, days: 0, hours: 0, minutes: 30, seconds: 0, milliseconds: 0 }
timeParse('1h30m'); // { years: 0, months: 0, days: 0, hours: 1, minutes: 30, seconds: 0, milliseconds: 0 }
timeParse('1d12h'); // { years: 0, months: 0, days: 1, hours: 12, minutes: 0, seconds: 0, milliseconds: 0 }

timeToDays

将毫秒数转换为天数对象。

typescript
function timeToDays(timeMs: number): TimeDuration;

参数

参数类型描述
timeMsnumber毫秒数

返回值

TimeDuration - 时间对象

示例

typescript
timeToDays(86400000); // { ..., days: 1, hours: 0, minutes: 0, seconds: 0, milliseconds: 0 }
timeToDays(172800000); // { ..., days: 2, hours: 0, minutes: 0, seconds: 0, milliseconds: 0 }
timeToDays(90000000); // { ..., days: 1, hours: 1, minutes: 0, seconds: 0, milliseconds: 0 }

timeToHours

将毫秒数转换为小时数对象。

typescript
function timeToHours(timeMs: number): TimeDuration;

参数

参数类型描述
timeMsnumber毫秒数

返回值

TimeDuration - 时间对象

示例

typescript
timeToHours(3600000); // { ..., hours: 1, minutes: 0, seconds: 0, milliseconds: 0 }
timeToHours(7200000); // { ..., hours: 2, minutes: 0, seconds: 0, milliseconds: 0 }
timeToHours(5400000); // { ..., hours: 1, minutes: 30, seconds: 0, milliseconds: 0 }

timeToMinutes

将毫秒数转换为分钟数对象。

typescript
function timeToMinutes(timeMs: number): TimeDuration;

参数

参数类型描述
timeMsnumber毫秒数

返回值

TimeDuration - 时间对象

示例

typescript
timeToMinutes(60000); // { ..., minutes: 1, seconds: 0, milliseconds: 0 }
timeToMinutes(120000); // { ..., minutes: 2, seconds: 0, milliseconds: 0 }
timeToMinutes(90000); // { ..., minutes: 1, seconds: 30, milliseconds: 0 }

timeToSeconds

将毫秒数转换为秒数对象。

typescript
function timeToSeconds(timeMs: number): TimeDuration;

参数

参数类型描述
timeMsnumber毫秒数

返回值

TimeDuration - 时间对象

示例

typescript
timeToSeconds(1000); // { ..., seconds: 1, milliseconds: 0 }
timeToSeconds(2000); // { ..., seconds: 2, milliseconds: 0 }
timeToSeconds(1500); // { ..., seconds: 1, milliseconds: 500 }

基于 MIT 许可发布