code refactor

This commit is contained in:
MaysWind
2021-03-14 20:13:56 +08:00
parent 3dbb161d78
commit aa557613ca
5 changed files with 25 additions and 16 deletions
+9 -6
View File
@@ -5,13 +5,16 @@ export default function (value, format, options) {
value = utils.getUnixTime(value);
}
if (utils.isObject(options) && utils.isNumber(options.utcOffset)) {
if (!utils.isNumber(options.currentUtcOffset)) {
options.currentUtcOffset = utils.getTimezoneOffsetMinutes();
}
let utcOffset = null;
let currentUtcOffset = null;
value = utils.getDummyUnixTimeForLocalDisplay(value, options.utcOffset, options.currentUtcOffset);
if (utils.isObject(options) && utils.isNumber(options.utcOffset)) {
utcOffset = options.utcOffset;
}
return utils.formatUnixTime(value, format);
if (utils.isObject(options) && utils.isNumber(options.currentUtcOffset)) {
currentUtcOffset = options.currentUtcOffset;
}
return utils.formatUnixTime(value, format, utcOffset, currentUtcOffset);
}
+13 -5
View File
@@ -84,7 +84,7 @@ function getActualUnixTimeForStore(unixTime, utcOffset, currentUtcOffset) {
return unixTime - (utcOffset - currentUtcOffset) * 60;
}
function getDummyUnixTimeForLocalDisplay(unixTime, utcOffset, currentUtcOffset) {
function getDummyUnixTimeForLocalUsage(unixTime, utcOffset, currentUtcOffset) {
return unixTime + (utcOffset - currentUtcOffset) * 60;
}
@@ -92,12 +92,20 @@ function getCurrentUnixTime() {
return moment().unix();
}
function parseDateFromUnixTime(unixTime) {
function parseDateFromUnixTime(unixTime, utcOffset, currentUtcOffset) {
if (isNumber(utcOffset)) {
if (!isNumber(currentUtcOffset)) {
currentUtcOffset = getTimezoneOffsetMinutes();
}
unixTime = getDummyUnixTimeForLocalUsage(unixTime, utcOffset, currentUtcOffset);
}
return moment.unix(unixTime);
}
function formatUnixTime(unixTime, format) {
return moment.unix(unixTime).format(format);
function formatUnixTime(unixTime, format, utcOffset, currentUtcOffset) {
return parseDateFromUnixTime(unixTime, utcOffset, currentUtcOffset).format(format);
}
function formatTime(dateTime, format) {
@@ -625,7 +633,7 @@ export default {
getTimezoneOffset,
getTimezoneOffsetMinutes,
getActualUnixTimeForStore,
getDummyUnixTimeForLocalDisplay,
getDummyUnixTimeForLocalUsage,
getCurrentUnixTime,
parseDateFromUnixTime,
formatUnixTime,
+1 -2
View File
@@ -425,8 +425,7 @@ const stores = {
const item = transactions.items[i];
fillTransactionObject(state, item, currentUtcOffset);
const transactionUnixTimeForLocalUsage = utils.getDummyUnixTimeForLocalDisplay(item.time, item.utcOffset, currentUtcOffset);
const transactionTime = utils.parseDateFromUnixTime(transactionUnixTimeForLocalUsage);
const transactionTime = utils.parseDateFromUnixTime(item.time, item.utcOffset, currentUtcOffset);
const transactionYear = utils.getYear(transactionTime);
const transactionMonth = utils.getMonth(transactionTime);
const transactionYearMonth = utils.getYearAndMonth(transactionTime);
+1 -2
View File
@@ -284,8 +284,7 @@ export function fillTransactionObject(state, transaction, currentUtcOffset) {
return;
}
const transactionUnixTimeForLocalUsage = utils.getDummyUnixTimeForLocalDisplay(transaction.time, transaction.utcOffset, currentUtcOffset);
const transactionTime = utils.parseDateFromUnixTime(transactionUnixTimeForLocalUsage);
const transactionTime = utils.parseDateFromUnixTime(transaction.time, transaction.utcOffset, currentUtcOffset);
transaction.day = utils.getDay(transactionTime);
transaction.dayOfWeek = utils.getDayOfWeek(transactionTime);
+1 -1
View File
@@ -643,7 +643,7 @@ export default {
if (self.mode === 'edit' || self.mode === 'view') {
self.transaction.utcOffset = transaction.utcOffset;
self.transaction.timeZone = null;
self.transaction.unixTime = self.$utilities.getDummyUnixTimeForLocalDisplay(transaction.time, self.transaction.utcOffset, self.$utilities.getTimezoneOffsetMinutes());
self.transaction.unixTime = self.$utilities.getDummyUnixTimeForLocalUsage(transaction.time, self.transaction.utcOffset, self.$utilities.getTimezoneOffsetMinutes());
self.transaction.time = self.$utilities.formatUnixTime(self.transaction.unixTime, 'YYYY-MM-DDTHH:mm');
}