
# DateUtil内嵌对象
DateUtil内嵌对象提供了一系列时间格式化、时间计算方法。
#### 方法
表1方法说明 
| 方法                                                                    | 描述                                                                                                                                        | 示例                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| String format(Date date, String pattern)                              | 将Date类型时间按指定pattern格式为字符串。                                                                                                                | 将作业调度计划的时间，转换为毫秒格式。 #{DateUtil.format(Job.planTime,"yyyy-MM-dd HH:mm:ss:SSS")} 将作业调度计划减一天的时间，转换为周格式。 - #{DateUtil.format(DateUtil.addDays(Job.planTime,-1),"yyyyw")} Job.planTime为2024年1月7日时，返回值为20241。     - #{DateUtil.format(DateUtil.addDays(Job.planTime,-1),"yyyyww")} Job.planTime为2024年1月7日时，返回值为202401。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| String formatWithTimeZone(Date date, String pattern, String timeZone) | 将Date类型时间按指定pattern格式为字符串；并指定时区，例如"GMT+0"。                                                                                                | 将作业调度计划的时间，转换为GMT+0时区的时间。 #{DateUtil.formatWithTimeZone(Job.planTime,"yyyy-MM-dd HH:mm", "GMT+0")} Job.planTime为2025年9月17日15点24分时，返回值为2025-09-17 07:24。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Date addMonths(Date date, int amount)                                 | 给date添加指定月数后，返回新Date对象，amount可以是负数。                                                                                                       | 将作业调度计划减一个月的时间，转换为月份格式。 #{DateUtil.format(DateUtil.addMonths(Job.planTime,-1),"yyyy-MM")}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Date addDays(Date date, int amount)                                   | 给date添加指定天数后，返回新Date对象，amount可以是负数。                                                                                                       | 将作业调度计划减一天的时间，转换为年月日格式。 #{DateUtil.format(DateUtil.addDays(Job.planTime,-1),"yyyy-MM-dd")} 将作业调度计划减一天的时间，转换为周格式。（非跨年业务场景使用小写y） - #{DateUtil.format(DateUtil.addDays(Job.planTime,-1),"yyyyw")} Job.planTime为2024年1月7日时，返回值为20241。     - #{DateUtil.format(DateUtil.addDays(Job.planTime,-1),"yyyyww")} Job.planTime为2024年1月7日时，返回值为202401。    将作业调度计划减一天的时间，转换为周格式。（跨年业务场景使用大写Y） - #{DateUtil.format(DateUtil.addDays(Job.planTime,-7),"YYYYww")} Job.planTime为2024年1月7日时，返回值为202401。 说明： yyyy和YYYY的使用区别： - YYYY表示周年的年份，它可以正确处理跨年的周数。  - yyyy表示日历年份，它可能会导致跨年的周数不准确。  - 因此，在处理跨年业务场景时，年份使用大写的YYYY，除此之外，请使用小写的yyyy。  - 目前自然周是周天到周六，暂不支持自然周是从星期一到星期天。      |
| Date addHours(Date date, int amount)                                  | 给date添加指定小时数后，返回新Date对象，amount可以是负数。                                                                                                      | 将作业调度计划减一小时的时间，转换为小时格式。 #{DateUtil.format(DateUtil.addHours(Job.planTime,-1),"yyyy-MM-dd HH")}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Date addMinutes(Date date, int amount)                                | 给date添加指定分钟数后，返回新Date对象，amount可以是负数。                                                                                                      | 将作业调度计划减一分钟的时间，转换为分钟格式。 #{DateUtil.format(DateUtil.addMinutes(Job.planTime,-1),"yyyy-MM-dd HH:mm")}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| int getDay(Date date)                                                 | 从date获取天，例如：date为2018-09-14，则返回14。                                                                                                        | 从作业调度计划获取具体的天。 #{DateUtil.getDay(Job.planTime)}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| int getMonth(Date date)                                               | 从date获取月，例如：date为2018-09-14，则返回9。                                                                                                         | 从日期获取具体的月。 #{DateUtil.getMonth(Job.planTime)}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| int getQuarter(Date date)                                             | 从date获取季度，例如：date为2018-09-14，则返回3。                                                                                                        | 从日期获取具体的季度。 #{DateUtil.getQuarter(Job.planTime)}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| int getYear(Date date)                                                | 从date获取年，例如：date为2018-09-14，则返回2018。                                                                                                      | 从日期获取具体的年。 #{DateUtil.getYear(Job.planTime)}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Date now()                                                            | 返回当前时间。                                                                                                                                   | 以秒格式返回当前的时间。 #{DateUtil.format(DateUtil.now(),"yyyy-MM-dd HH:mm:ss")}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| long getTime(Date date)                                               | 将Date类型时间转换为long类型时间戳。                                                                                                                    | 将作业调度计划时间转换为时间戳。 #{DateUtil.getTime(Job.planTime)}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Date parseDate(String str, String pattern)                            | 字符串按pattern转换为Date类型，pattern为日期、时间模式，请参考[日期和时间模式](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0496.html)。 | 将字符串类型的作业启动时间转换为秒格式。 #{DateUtil.parseDate(Job.getPlanTime("yyyy-MM-dd HH:mm:ss:SSS"),"yyyy-MM-dd HH:mm:ss")}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   
#### 举例
以作业调度计划时间的前一天时间作为子目录名称，生成一个OBS路径，EL表达式如下：
```
#{"obs://test/"+DateUtil.format(DateUtil.addDays(Job.planTime,-1),"yyyy-MM-dd")}
```
