Datetime 如何在splunk中将自定义时间转换为分钟

Datetime 如何在splunk中将自定义时间转换为分钟,datetime,splunk,splunk-query,Datetime,Splunk,Splunk Query,我有一个字段,它以1h3m45s或3m45s格式发送时间 我想把它转换成几分钟,画出一个图表 我试过了 | eval ProcessingTime=replace(replace(replace(LoadTime,"h",":"), "m",":"),"s","") | eval ProcessingTime=strptime(ProcessingTime,"%H:%M:%S") 但它给出了一个空白字段 编辑: 这给出了我期望的时间(以分钟为单位),但当我有时间=34m56s时,它不会返回任何

我有一个字段,它以
1h3m45s
3m45s
格式发送时间

我想把它转换成几分钟,画出一个图表

我试过了

| eval ProcessingTime=replace(replace(replace(LoadTime,"h",":"), "m",":"),"s","")
| eval ProcessingTime=strptime(ProcessingTime,"%H:%M:%S")
但它给出了一个空白字段

编辑:

这给出了我期望的时间(以分钟为单位),但当我有时间=34m56s时,它不会返回任何内容


您能帮忙吗?

非常接近,您可以使用
convert dur2sec()


如果无效,请删除转换行并发送
ProcessingTIme
的值。它应该看起来像
HH:MM:SS
format

非常接近,您可以使用
convert dur2sec()


如果无效,请删除转换行并发送
ProcessingTIme
的值。它看起来应该像救援用的rex!此查询处理可选的小时值

| makeresults
| eval time="34m56s" 
| rex field=time "(?:(?<hr>\d+)h)?(?<min>\d+)m(?<sec>\d+)s"
| eval hr=coalesce(hr,0)
| eval ProcessingTime=hr.":".min.":".sec
| convert dur2sec(ProcessingTime) 
| eval TimeinMin=(ProcessingTime)/60 
| table time, ProcessingTime,TimeinMin
|生成结果
|评估时间=“34m56s”
|rex字段=时间“(?:(?
\d+)h”?(?\d+)m(?\d+)s” |eval hr=聚结(hr,0) |eval ProcessingTime=hr.:.min.:.sec |转换dur2sec(处理时间) |评估时间最小=(处理时间)/60 |表时间、处理时间、时间最小值
rex
救援!此查询处理可选的小时值

| makeresults
| eval time="34m56s" 
| rex field=time "(?:(?<hr>\d+)h)?(?<min>\d+)m(?<sec>\d+)s"
| eval hr=coalesce(hr,0)
| eval ProcessingTime=hr.":".min.":".sec
| convert dur2sec(ProcessingTime) 
| eval TimeinMin=(ProcessingTime)/60 
| table time, ProcessingTime,TimeinMin
|生成结果
|评估时间=“34m56s”
|rex字段=时间“(?:(?
\d+)h”?(?\d+)m(?\d+)s” |eval hr=聚结(hr,0) |eval ProcessingTime=hr.:.min.:.sec |转换dur2sec(处理时间) |评估时间最小=(处理时间)/60 |表时间、处理时间、时间最小值
尝试将以MM:SS.SSS(分、秒和亚秒)为单位的时间转换为以秒为单位的数字

sourcetype=syslog | convert mstime(_time) AS ms_time | table _time, ms_time
  • mstime()
    函数将
    \u time
    字段值从分钟转换为分钟 几秒钟到几秒钟
转换后的时间字段重命名为
ms\u time

table命令用于显示原始的
\u时间
值和转换后的时间


mstime()
函数将时间戳更改为数值。如果您想使用它进行更多计算,这很有用。

尝试将时间(单位:MM:SS.SSS(分、秒和亚秒))转换为秒数

sourcetype=syslog | convert mstime(_time) AS ms_time | table _time, ms_time
  • mstime()
    函数将
    \u time
    字段值从分钟转换为分钟 几秒钟到几秒钟
转换后的时间字段重命名为
ms\u time

table命令用于显示原始的
\u时间
值和转换后的时间


mstime()
函数将时间戳更改为数值。如果您想使用它进行更多计算,这很有用。

如果时间以小时为单位,如
2h55m34s
则有效,但如果时间仅以分钟为单位,如
55m34s
则无效,如果时间以小时为单位,如
2h55m34s
则无效,但如果时间仅以分钟为单位,则无效