
# 使用时间函数将日志时间字段转换为指定格式
在日志搜索分析中往往需要对日志中的时间字段进行处理，例如将日志的时间戳转换成指定格式等，本文介绍时间字段的常用转换示例。
本示例属于白名单功能，支持华北-北京四、华东-上海一、华南-广州、亚太-新加坡、拉美-墨西哥城二区域的白名单用户使用，如有需要，请[提交工单](https://support.huaweicloud.com/usermanual-ticket/zh-cn_topic_0127038618.html)，其他区域暂不支持申请开通。
#### 时间字段
- 时间字段类型
  - 云日志服务的保留字段__time：用API/SDK写入日志数据时指定的日志时间，该字段可用于日志投递、查询、分析。
  
  - 日志中原有的时间字段：日志在生成时，用于记录日志事件发生时间的字段，是原始日志的字段。
   
- 转换时间字段格式的方式：
  - [将__time转化成时间戳]
  
  - [将__time以指定格式打印]
  
  - [将日志中的时间转换成指定格式]
   
 
 #### 将__time转化成时间戳
使用[from_unixtime函数](https://support.huaweicloud.com/usermanual-lts/lts_07_0206.html)将__time字段，从UNIX时间戳转化为timestamp类型的日期和时间表达式。
```
* | select from_unixtime(__time)
```
```
* | select from_unixtime(__time,'+08:00')
```
 #### 将__time以指定格式打印
使用[date_format函数](https://support.huaweicloud.com/usermanual-lts/lts_07_0206.html)将字段__time，从 timestamp类型的日期和时间表达式的形式转换为指定格式。
```
* | select time_format( from_unixtime(__time), 'yyyy-MM-dd HH:mm:ss','+08:00')
```
使用[time_format函数](https://support.huaweicloud.com/usermanual-lts/lts_07_0206.html)将字段__time，从 timestamp类型的日期和时间表达式的形式转换为指定格式。
```
* | select date_format(from_unixtime(__time,'+08:00'),'%Y-%m-%d %H:%i:%s')
```
 #### 将日志中的时间转换成指定格式
把日志中的时间字段从字符转化成指定格式。
1. 使用[date_parse函数](https://support.huaweicloud.com/usermanual-lts/lts_07_0206.html)将时间字段，从字符串转化成年-月-日 时:分:秒。
2. 使用[date_format函数](https://support.huaweicloud.com/usermanual-lts/lts_07_0206.html)截取年-月-日部分。
3. 使用group by进行分组。
   - 日志样例：
     ```
     time:2017-05-17 09:45:00
     ```
     
   
   - SQL语句样例：
     ```
     * | select date_format (date_parse(time,'%Y-%m-%d %H:%i:%S'), '%Y-%m-%d') as day, count(1) as uv group by day order by day asc
     ```
     
    
 
