已知時間轉換為指定時區的時間

2022-05-18 08:12:21 字數 1795 閱讀 8238

與後台互動,盡量傳時間戳,時間戳都是0時區的,如果傳2021這種格式的,不確定是哪個時區的!!!

/*

* * time:已知的時間戳或'-- ::'格式的時間

* timezone:時區 8、-8、+8

* cformat:時間格式 'timestamp'或'-- ::' 中間符號隨便變

*/function getcustomtimezonetime(time, timezone, cformat = '') -- ::'格式的時間轉換為 指定時區的時間

time = new

date(time).gettime()

if (typeof time !== 'number' || isnan(time)) return

null

timezone = timezone + ''let reg = /[+-]?\d+/,

zone = timezone.match(reg), //

客服時區,如 -6

customtime = parseint(zone, 10) * 60 * 60 * 1000; //

客服時區時間差

let localtimezone = new date().gettimezoneoffset(),//

協調世界時(utc)相對於當前時區的時間差值 單位(分鐘) 注意:本地時間+這個差值=世界時間

localtime = localtimezone * 60 * 1000;//

本體時間差

customtime = time + localtime + customtime;//

這相當於指定時間的世界時間

return

parsetime(customtime, cformat)

}function

parsetime(time, cformat)

if (time === null || time ===undefined)

if (typeof

new date(time).gettime() !== 'number')

const format = cformat || '-- ::'let date

if (typeof time === 'object')

else

if ((typeof time === 'number') && (time.tostring().length === 10))

date = new

date(time)

} const formatobj =

if(format === 'timestamp')

else

/g, (result, key) =>

if (result.length > 0 && value < 10)

return value || 0})

return

time_str

}}//let newdate ='2021-01-21 18:05:18';//乙個指定的時間格式 可以傳指定格式的時間

let newdate = new date().gettime();//

當前時間戳 0 時區的時間 傳時間戳也行

console.log(newdate);

let formatdate = getcustomtimezonetime(newdate,"8");//

8時區console.log(formatdate);

console.log(parsetime(formatdate,'timestamp'));

python pytz 獲取指定時區的時間

例項如下 import pytz import datetime 查詢中國所擁有的時區 cn pytz.country timezones cn 查詢美國所擁有的時區 us pytz.country timezones us 查詢南韓所擁有的時區 kr pytz.country timezones ...

js 獲取指定時區當前時間

var timezone 8 目標時區時間,東八區 東時區正數 西市區負數 var offset gmt new date gettimezoneoffset 本地時間和格林威治的時間差,單位為分鐘 var nowdate new date gettime 本地時間距 1970 年 1 月 1 日午...

mysql 時區 時間轉換 MySQL時間時區轉換

將timestamp轉換為指定時區的時間,如 2018 09 21 11 48 42 select convert tz create time,session.time zone,8 00 from auth user 將timestamp轉換為指定時區的時間,並精確到天數,如 2018 09 2...