# time

time提供了常用的时间和日期相关函数和类

## 函数、类详解

### type Time

ZGG的时间类型

| 构造函数                                                 |                                                                                                                                                        |
| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
|                                                      |                                                                                                                                                        |
| \_\_init\_\_()                                       | 构造一个当前时间的Time对象                                                                                                                                        |
| \_\_init\_\_(goTime)                                 | 根据传入的go的time.Time值，生成一个zgg的Time对象                                                                                                                      |
| \_\_init\_\_(unixNano)                               | 构造一个单位为纳秒的时间戳为unixNano的Time对象，时区为机器当前时区                                                                                                                |
| \_\_init\_\_(timeStr)                                | <p>将timeStr解析为Time对象。支持以下格式的字符串（下面以go的时间格式表达方法说明）：</p><ul><li>20060102</li><li>2006-01-02</li><li>20060102150405</li><li>2006-01-02 15:04:05</li></ul> |
| \_\_init\_\_(timeStr, layout)                        | 按layout格式将timeStr解析为Time对象。layout的格式为go的时间layout格式                                                                                                     |
| \_\_init\_\_(year, month, day)                       | 生成一个时间为当前时区的year年month月day日0时0分0秒的Time对象                                                                                                               |
| \_\_init\_\_(year, month, day, hour, minute, second) | 生成一个时间为当前时区的year年month月day日hour时minute分second秒的Time对象                                                                                                  |
| 对象属性（只读）                                             |                                                                                                                                                        |
|                                                      |                                                                                                                                                        |
| unix                                                 | Time对象对应的unix时间戳（精确到秒）。Int                                                                                                                             |
| unixNano                                             | Time对象对应的unix时间戳（精确到纳秒）。Int                                                                                                                            |
| year                                                 | Time对象对应的年份。Int                                                                                                                                        |
| month                                                | Time对象对应的月份(1\~12)。Int                                                                                                                                 |
| day                                                  | Time对象对应的日期(1\~31)。Int                                                                                                                                 |
| hour                                                 | Time对象对应的小时(0\~23)。Int                                                                                                                                 |
| minute                                               | Time对象对应的分钟(0\~59)。Int                                                                                                                                 |
| second                                               | Time对象对应的秒(0\~59)。Int                                                                                                                                  |
| 方法                                                   |                                                                                                                                                        |
|                                                      |                                                                                                                                                        |
| add(durationStr)                                     | <p>返回一个新的Time对象，其取值为当前Time对象加上duration。<br>duration的值为go语言的duration表达字符串</p>                                                                           |
| addDays(daysInt)                                     | 返回一个新的Time对象，其取值为当前Time对象加daysInt天                                                                                                                     |
| addHours(hoursInt)                                   | 返回一个新的Time对象，其取值为当前Time对象加hoursInt个小时                                                                                                                  |
| format(layout)                                       | 将Time对象格式化为一个字符串。layout的格式与go语言一致                                                                                                                      |
| timetuple                                            | 返回Time对象对应的\[year, month, day, hour, minute, second, location]                                                                                         |
| toGoTime                                             | 根据该Time对象，返回一个对应的go语言的time.Time值                                                                                                                       |

### func time()

返回当前的unix时间戳，精确到秒。等同于`Time().unix`

### func now

`TODO`

### func fromUnix(timestamp)

根据传入的unix时间戳（精确到秒）返回Time对象。等同于`Time(timestamp * 1000000000)`

### func fromGoTime(goTime)

根据传入的go的time.Time值，生成一个zgg的Time对象

### func sleep(secondsFloat)

当前线程暂停secondsFloat秒

### func timeit(callable)

运行callable，返回耗时，单位为纳秒
