gpt4 book ai didi

grails - Grails时间持续时间格式标记库

转载 作者:行者123 更新时间:2023-12-02 16:02:29 25 4
gpt4 key购买 nike

Grails具有3个干净的格式标记库:

  • 格式日期
  • 格式编号
  • 格式 bool(boolean) 值

  • 想知道是否可以将秒格式化为HH:MM:SS?或者是否存在另一种优雅的方式来格式化渲染 View 中的秒。

    注意:
    formatDate不起作用,因为可能比 86400多了几秒钟。
    因此,在 86461期间, formatDate将返回 00:01:01,而实际上应该是 24:01:01

    最佳答案

    您可以创建一个标签库:将SecondsTagLib.groovy放入grails-app/taglib/中(位置和类名中的后缀TagLib都很重要)。

    class SecondsTagLib {
    def formatSeconds = {
    attrs, body ->
    final int hours = attrs.seconds / (60 * 60)
    final int remainder = attrs.seconds % (60 * 60)
    final int minutes = remainder / 60
    final int seconds = remainder % 60

    out << hours.toString().padLeft(2, "0") + ":" + minutes.toString().padLeft(2, "0") + ":" + seconds.toString().padLeft(2, "0")
    }
    }

    并在您的 View 中使用该taglib:
    <html>
    <body>
    Seconds: ${seconds} = <g:formatSeconds seconds="${seconds}"/>
    </body>
    </html>

    Controller 的方法如下所示:
    class TagLibController {
    def seconds() {
    // 10:11:01
    def seconds = (10 * 60 * 60) + (11 * 60) + 1
    def model = ["seconds": seconds]
    render(view: "seconds", model: model)
    }
    }

    关于grails - Grails时间持续时间格式标记库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29131296/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com