108 lines
4.2 KiB
JavaScript
108 lines
4.2 KiB
JavaScript
export const formatDate = (value) => {
|
||
let timezone = 3; //目标时区时间,东3区(东时区正数 西时区负数)
|
||
let offset_GMT = new Date(value).getTimezoneOffset(); // 本地时间和格林威治的时间差,单位为分钟
|
||
let nowDate = new Date(value).getTime(); // 本地时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数
|
||
let date = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000);
|
||
|
||
// 提取年、月、日、小时、分钟和秒
|
||
let y = date.getFullYear();
|
||
let MM = date.getMonth() + 1;
|
||
MM = MM < 10 ? ('0' + MM) : MM;
|
||
let d = date.getDate();
|
||
d = d < 10 ? ('0' + d) : d;
|
||
let h = date.getHours();
|
||
h = h < 10 ? ('0' + h) : h;
|
||
let m = date.getMinutes();
|
||
m = m < 10 ? ('0' + m) : m;
|
||
let s = date.getSeconds();
|
||
s = s < 10 ? ('0' + s) : s;
|
||
return `${y}-${MM}-${d} ${h}:${m}:${s}`;
|
||
}
|
||
|
||
export const formatDate2 = (value) => {
|
||
let timezone = 3; //目标时区时间,东3区(东时区正数 西时区负数)
|
||
let offset_GMT = new Date(value).getTimezoneOffset(); // 本地时间和格林威治的时间差,单位为分钟
|
||
let nowDate = new Date(value).getTime(); // 本地时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数
|
||
let date = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000);
|
||
|
||
let y = date.getFullYear();
|
||
let MM = date.getMonth() + 1;
|
||
MM = MM < 10 ? ('0' + MM) : MM;
|
||
let d = date.getDate();
|
||
d = d < 10 ? ('0' + d) : d;
|
||
let h = date.getHours();
|
||
h = h < 10 ? ('0' + h) : h;
|
||
let m = date.getMinutes();
|
||
m = m < 10 ? ('0' + m) : m;
|
||
let s = date.getSeconds();
|
||
s = s < 10 ? ('0' + s) : s;
|
||
return `${y}/${MM}/${d} ${h}:${m}:${s}`;
|
||
}
|
||
|
||
export const formatDateYMD = (value) => {
|
||
let timezone = 3; //目标时区时间,东3区(东时区正数 西时区负数)
|
||
let offset_GMT = new Date(value).getTimezoneOffset(); // 本地时间和格林威治的时间差,单位为分钟
|
||
let nowDate = new Date(value).getTime(); // 本地时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数
|
||
let date = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000);
|
||
|
||
let y = date.getFullYear();
|
||
let MM = date.getMonth() + 1;
|
||
MM = MM < 10 ? ('0' + MM) : MM;
|
||
let d = date.getDate();
|
||
d = d < 10 ? ('0' + d) : d;
|
||
let h = date.getHours();
|
||
h = h < 10 ? ('0' + h) : h;
|
||
let m = date.getMinutes();
|
||
m = m < 10 ? ('0' + m) : m;
|
||
let s = date.getSeconds();
|
||
s = s < 10 ? ('0' + s) : s;
|
||
return `${y}/${MM}/${d}`;
|
||
}
|
||
|
||
export const formatDateYYYYMMDD = (value) => {
|
||
let date = new Date(value);
|
||
// 将时区设置为GMT+3
|
||
let gmtOffset = 3; // GMT+3时区偏移量为3小时
|
||
let localOffset = date.getTimezoneOffset() / 60; // 获取本地时区偏移量(以小时为单位)
|
||
let targetOffset = gmtOffset - localOffset; // 计算目标时区偏移量
|
||
date.setHours(date.getHours() + targetOffset); // 根据偏移量调整小时
|
||
|
||
const y = date.getFullYear();
|
||
let MM = date.getMonth() + 1;
|
||
MM = MM < 10 ? ('0' + MM) : MM;
|
||
let d = date.getDate();
|
||
d = d < 10 ? ('0' + d) : d;
|
||
let h = date.getHours();
|
||
h = h < 10 ? ('0' + h) : h;
|
||
let m = date.getMinutes();
|
||
m = m < 10 ? ('0' + m) : m;
|
||
let s = date.getSeconds();
|
||
s = s < 10 ? ('0' + s) : s;
|
||
|
||
return `${y}-${MM}-${d}`;
|
||
}
|
||
|
||
|
||
export const formatDateYYYYMM = (value) => {
|
||
let date = new Date(value);
|
||
// 将时区设置为GMT+3
|
||
let gmtOffset = 3; // GMT+3时区偏移量为3小时
|
||
let localOffset = date.getTimezoneOffset() / 60; // 获取本地时区偏移量(以小时为单位)
|
||
let targetOffset = gmtOffset - localOffset; // 计算目标时区偏移量
|
||
date.setHours(date.getHours() + targetOffset); // 根据偏移量调整小时
|
||
|
||
let y = date.getFullYear();
|
||
let MM = date.getMonth() + 1;
|
||
MM = MM < 10 ? ('0' + MM) : MM;
|
||
let d = date.getDate();
|
||
d = d < 10 ? ('0' + d) : d;
|
||
let h = date.getHours();
|
||
h = h < 10 ? ('0' + h) : h;
|
||
let m = date.getMinutes();
|
||
m = m < 10 ? ('0' + m) : m;
|
||
let s = date.getSeconds();
|
||
s = s < 10 ? ('0' + s) : s;
|
||
console.log(y, MM, d, h, s);
|
||
return `${y}-${MM}`;
|
||
}
|