You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.6 KiB
Bash
61 lines
1.6 KiB
Bash
# fake time about functions encapsulation
|
|
# Longwei Lai
|
|
###################################################################
|
|
|
|
source "${____FWK_SCRIPT_PATH}/lnx_fwk_defs.sh"
|
|
|
|
# read current fake time setting
|
|
# arguments:
|
|
# N/A
|
|
# returns:
|
|
# echo style:
|
|
# faketime or "no faketime"
|
|
# return style:
|
|
# N/A
|
|
function read_faketime()
|
|
{
|
|
local faketime=
|
|
if [ -f "${____FWK_SVR_FAKETIME_OPTION_FILE}" ]; then
|
|
faketime="`cat "${____FWK_SVR_FAKETIME_OPTION_FILE}"`"
|
|
fi
|
|
|
|
if [ -z "${faketime}" ]; then
|
|
echo -n "no faketime"
|
|
return
|
|
fi
|
|
|
|
local now_time="`date "+%Y-%m-%d %H:%M:%S"`"
|
|
local faketime_begin=
|
|
if [ -f "${____FWK_SVR_FAKETIME_BEGIN_OPTION_FILE}" ]; then
|
|
faketime_begin="`cat "${____FWK_SVR_FAKETIME_BEGIN_OPTION_FILE}"`"
|
|
else
|
|
faketime_begin="${now_time}"
|
|
echo -n "${faketime_begin}" > "${____FWK_SVR_FAKETIME_BEGIN_OPTION_FILE}"
|
|
fi
|
|
|
|
local now_ts="`date -d "${now_time}" '+%s'`"
|
|
local faketime_begin_ts="`date -d "${faketime_begin}" '+%s'`"
|
|
local diff_time=$((${now_ts} - ${faketime_begin_ts}))
|
|
|
|
local faketime_ts="`date -d "${faketime}" '+%s'`"
|
|
local now_faketime_ts=$((${faketime_ts} + ${diff_time}))
|
|
local real_faketime="`date -d "@${now_faketime_ts}" '+%Y-%m-%d %H:%M:%S'`"
|
|
|
|
echo -n "${real_faketime}"
|
|
}
|
|
|
|
# clear fake time setting
|
|
# arguments:
|
|
# N/A
|
|
# returns:
|
|
# echo style:
|
|
# N/A
|
|
# return style:
|
|
# N/A
|
|
function clear_faketime()
|
|
{
|
|
if [ -f "${____FWK_SVR_FAKETIME_OPTION_FILE}" ]; then
|
|
echo -n "" > "${____FWK_SVR_FAKETIME_OPTION_FILE}"
|
|
fi
|
|
}
|