Blame view

天文台pc/tianwentai-ui/node_modules/date-fns/formatISODuration.mjs 976 Bytes
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
  /**
   * @name formatISODuration
   * @category Common Helpers
   * @summary Format a duration object according as ISO 8601 duration string
   *
   * @description
   * Format a duration object according to the ISO 8601 duration standard (https://www.digi.com/resources/documentation/digidocs//90001488-13/reference/r_iso_8601_duration_format.htm)
   *
   * @param duration - The duration to format
   *
   * @returns The ISO 8601 duration string
   *
   * @example
   * // Format the given duration as ISO 8601 string
   * const result = formatISODuration({
   *   years: 39,
   *   months: 2,
   *   days: 20,
   *   hours: 7,
   *   minutes: 5,
   *   seconds: 0
   * })
   * //=> 'P39Y2M20DT0H0M0S'
   */
  export function formatISODuration(duration) {
    const {
      years = 0,
      months = 0,
      days = 0,
      hours = 0,
      minutes = 0,
      seconds = 0,
    } = duration;
  
    return `P${years}Y${months}M${days}DT${hours}H${minutes}M${seconds}S`;
  }
  
  // Fallback for modularized imports:
  export default formatISODuration;