lubejs-mssql
Version:
The lubejs driver for mssql.
65 lines (64 loc) • 2.21 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatTime = exports.formatDate = exports.formatDateTime = exports.formatIsoDateTimeUtc = exports.formatIsoDateTimeLocale = void 0;
/**
* 使用本地时区格式化日期为ISO格式
*/
function formatIsoDateTimeLocale(date) {
return (formatDate(date) + 'T' + formatTime(date, true) + formatIsoTzOffset(date));
}
exports.formatIsoDateTimeLocale = formatIsoDateTimeLocale;
/**
* 使用UTC时区格式化日期为ISO格式
*/
function formatIsoDateTimeUtc(date) {
return date.toISOString();
}
exports.formatIsoDateTimeUtc = formatIsoDateTimeUtc;
function formatIsoTzOffset(date) {
const offset = date.getTimezoneOffset();
if (offset === 0)
return 'Z';
return ((offset > 0 ? '-' : '+') +
(Math.abs(offset) / 60).toFixed(0).padStart(2, '0') +
':' +
(Math.abs(offset) % 60).toString().padStart(2, '0'));
}
function formatDateTime(date) {
return formatDate(date) + ' ' + formatTime(date);
}
exports.formatDateTime = formatDateTime;
function formatDate(date) {
const y = date.getFullYear();
const m = date.getMonth() + 1;
const d = date.getDate();
return (y.toString().padStart(4, '0') +
'-' +
m.toString().padStart(2, '0') +
'-' +
d.toString().padStart(2, '0'));
}
exports.formatDate = formatDate;
function formatTime(date, withDigit = false) {
const h = date.getHours();
const m = date.getMinutes();
const s = date.getSeconds();
const ms = date.getMilliseconds();
let str = h.toString().padStart(2, '0') +
':' +
m.toString().padStart(2, '0') +
':' +
s.toString().padStart(2, '0');
if (withDigit) {
str += '.' + ms.toString().padStart(3, '0');
}
return str;
}
exports.formatTime = formatTime;
const MINUTE_MILLISECONDS = 60 * 1000;
// export function Utc(date: Date): Date {
// return new Date(date.getTime() - date.getTimezoneOffset() * MINUTE_MILLISECONDS);
// }
// export function Local(date: Date): Date {
// return new Date(date.getTime() + date.getTimezoneOffset());
// }
;