apoc.temporal.formatDuration

此函数已弃用。请改用 Cypher 的 format() 函数。

详细信息

语法

apoc.temporal.formatDuration(input, format)

描述

将给定的持续时间(duration)格式化为指定的时间格式。

参数

名称

类型

描述

input

ANY

要格式化为字符串的持续时间值。

format

STRING

返回持续时间所采用的格式。

返回

STRING

用法示例

此函数处理模式字符串的方式与 DateTimeFormatter.ofPattern(<pattern>) 中使用的类似,但存在一些差异。下表为字母与 持续时间字段 (Duration Fields) 之间的转换对应关系:

字母 字段

yYu

year

dD

ML

年中的月

qQ

年中的季度

wW

hHk`或 `K

小时

m

小时中的分钟

s

分钟中的秒

nS

秒中的纳秒

A

milliseconds

N

nanoseconds

I

ISO 纳秒,即去除右侧多余零。例如:"12300" 变为 "123"

也可以使用 预定义的 Java 格式Elastic 格式,但需要有时区或周年的格式除外,例如 basic_date_timeweek_date_time

apoc.temporal.formatDuration
RETURN apoc.temporal.formatDuration(duration({seconds: 6000}), "hour") AS output;
Cypher 的 format 函数
RETURN format(duration({seconds: 6000}), "hh") AS output;
结果
输出

"01"

apoc.temporal.formatDuration
RETURN apoc.temporal.formatDuration( duration({seconds: 10000}), "hour_minute") AS output;
Cypher 的 format 函数
RETURN format( duration({seconds: 10000}), "hh:mm") AS output;
结果
输出

"02:46"

apoc.temporal.formatDuration
WITH duration.between(datetime('2017-06-02T18:40:32.1234560'), datetime('2019-07-13T19:41:33')) AS duration
RETURN apoc.temporal.formatDuration(duration, "yy 'years' MM 'months' dd 'days' - HH:mm:ss SSSS") AS output
Cypher 的 format 函数
WITH duration.between(datetime('2017-06-02T18:40:32.1234560'), datetime('2019-07-13T19:41:33')) AS duration
RETURN format(duration, "yy 'years' MM 'months' dd 'days' - HH:mm:ss SSSS") AS output
结果
输出

"02 年 01 个月 11 天 - 01:01:00 8765"