Files
peko-admin-web/src/utils/relDate.js

108 lines
4.2 KiB
JavaScript
Raw Normal View History

2024-08-26 15:01:17 +08:00
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}`;
}