Files
Omni_kernel.db/basecore/cloud_adjusttime.txt
2026-02-06 15:09:39 +08:00

36 lines
1.2 KiB
Plaintext

DELIMITER //
CREATE OR REPLACE PROCEDURE cloud_adjusttime(
IN date_utc DATETIME,
IN base INT
)
/*
Function : 因為所有的雲端主機, 都是存 UTC, 要 -8 換為 Taipei 時間, 原 cloud_addtime 的反向 udf, FullCalendar 存檔前使用
Description: 1.如果有多國的來源, 這個方法並不徹底, 目前先暫用
2.目前測試 -8 看起來就正常
3.這個 stored procedure 只是單純地在 select xx日期 時, 將時間 -8 hrs, 並不會異動資料庫的內容
純粹是配合 Azure Cloud 主機的運作而已
CALL cloud_adjusttime(NOW(), -1);
Build Date : 2023/2/11
Modify History
Item Who Date Modify Docs
==== ========== ========== ================================================
1 Michael 2023/02/11 Init
*/
BEGIN
DECLARE date_taipei DATETIME;
DECLARE diff_hours SMALLINT;
SELECT pvalue INTO diff_hours FROM sys_parameter WHERE systemid = 'sys' AND pid = 'diff_hours';
IF diff_hours IS NULL THEN
SET diff_hours = 8;
END IF;
SET date_taipei = DATE_ADD(date_utc, INTERVAL diff_hours * base HOUR);
SELECT date_taipei AS result; -- You can select the result or do something else with it
END //
DELIMITER ;