MySQL中时间的格式数据类型

时间:2018-03-21 06:41:28

标签: mysql ruby time

result = connect.query("SELECT * FROM data WHERE event_type = 'ALARM_OPENED' AND severity = '2'")
equipments = result.map { |print_this| [print_this['sourcetime'], print_this['description']] }
p equipments

MySQL工作台中sourcetime的数据类型设置为TIME

我得到的结果是2000-01-01 12:00:04 +0100

我想只获得时间12:00:04并删除日期和+0100

2 个答案:

答案 0 :(得分:1)

你能尝试 strftime("%I:%M%p")

equipments = result.map { |print_this| print_this.sourcetime.strftime("%I:%M%p") }

答案 1 :(得分:1)

实现这一目标需要两个步骤:

  1. Time.parse从数据库返回的字符串为Time的实例。
  2. 使用Time#strftimeTime的实例格式化为所需的输出格式。
  3. 要显示一个时间的小时,分​​钟和秒(没有日期和时区信息),请使用'%H:%M:%S'指令(有关更多示例,请参阅docs)。

    require 'time' # `Time.parse` is not Ruby Core but from the Standard Library
    
    equipments = result.map do |record| 
      [
        Time.parse(record['sourcetime']).strftime('%H:%M:%S'), 
        record['description']
      ]
    end