【问题标题】:lua program shows current timelua程序显示当前时间
【发布时间】:2012-09-17 20:51:44
【问题描述】:

这是一段显示时间的 lua 脚本。我无法将数字分开,即:time.hour, ":", 基本上显示 hh:mm:ss

time = os.date("*t")
print(time.hour .. time.min .. time.sec)

【问题讨论】:

  • 我没怎么用过Lua,但是基本的print(time.hour .. ":" .. time.min .. ":" .. time.sec)不会用吗?
  • 工作得很好,我的脚本中的其他地方出错了
  • 否则,print(os.date("%H:%M:%S")) 似乎也会这样做。 lua.org/pil/22.1.html

标签: date lua timestamp


【解决方案1】:

有几种方法可以做到这一点:

  1. 使用字符串连接:print(time.hour .. ":" .. time.min .. ":" .. time.sec)

  2. 使用格式:print(("%02d:%02d:%02d"):format(time.hour, time.min, time.sec))

  3. 使用表连接:print(table.concat({time.hour, time.min, time.sec}, ":"))

当你真的需要格式化你的字符串时,我更喜欢#2。对于time = {hour = 1, min = 20, sec = 5},打印:

1:20:5
01:20:05
1:20:5

【讨论】:

    【解决方案2】:

    为了简单地打印时间 - 从完整的日期戳字符串中提取您想要的(时间):

      > os.date():sub(9)
        12:30:39
    

    这适用于我的 PC ;)。您的操作系统中可能有一个different date stamp string

    G

    【讨论】:

      【解决方案3】:
      local date = os.date('*t')
      local time = os.date("*t")
      print(os.date("%A, %m %B %Y | "), ("%02d:%02d:%02d"):format(time.hour, time.min, time.sec))`
      

      【讨论】:

        猜你喜欢
        • 2018-12-04
        • 2012-11-28
        • 2020-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-17
        • 2021-08-06
        • 1970-01-01
        相关资源
        最近更新 更多