1. 概述
1.1 問題描述
日期函式在平時工作與生活中使用非常廣泛,在日期中新增或減去指定的時間間隔也顯得尤為重要。
目前官方提供了一些日期函式的運用。詳情參見:日期和時間函式
例如:dateadd()日期差函式:
函式 | 說明 |
---|---|
YEARDELTA(date, delta) | 傳回指定日期後delta年的日期 |
MONTHDELTA(date,delta) | 傳回指定日期 date 後 delta 個月的日期 |
DATEDELTA(date, deltadays) | 傳回一個日期——date 後 deltadays 的日期。 |
但有時,需要獲取「指定日期後N個(時/分/秒)的日期值」,如何處理呢?
1.2 實現思路
使用 TODATE 與 DATETONUMBER 函式結合計算。
2. 範例
2.1 建立報表
以A1儲存格 = "2021-03-30 14:40:42" 為例:
需要分別獲取 2 小時後,2分鐘後,2秒後的日期值,寫入公式如下:
todate(DATETONUMBER(A1) 2 * 3600 * 1000) | 取2小時後 |
todate(DATETONUMBER(A1) 2 * 60 * 1000) | 取2分鐘後 |
todate(DATETONUMBER(A1) 2 * 1000) | 取2秒後 |
公式解譯:
序號 | 公式 | 說明 |
---|---|---|
1 | =todate(DATETONUMBER(A1) N * 3600 * 1000) | 將當前時間轉換成毫秒級 N時*每時3600秒*每秒1000毫秒,最後透過todate函式轉換成標準日期值 |
2 | =todate(DATETONUMBER(A1) N * 60 * 1000) | 將當前時間轉換成毫秒級 N分*每分60秒*每秒1000毫秒,最後透過todate函式轉換成標準日期值 |
3 | =todate(DATETONUMBER(A1) N *1000) | 將當前時間轉換成毫秒級 N秒*每秒1000毫秒,最後透過todate函式轉換成標準日期值 |
注:若日期函式不合法,則會用當前時間進行計算。
2.2 效果查看
2.2.1 PC 端
2.2.2 行動端
App 與 HTML5 端效果相同,如下圖所示:
3. 範本下載
點選下載範本:日期差-時分秒轉換.cpt