Skip to content

Commit f728b2b

Browse files
committed
fix enex import saves local dates in wrong format (with Z, like UTC fields)
the proper format for dateCreated, dateModified is: +0000
1 parent 20b301a commit f728b2b

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

apps/server/src/services/date_utils.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,19 @@ function localNowDate() {
2727
}
2828
}
2929

30+
function formatDateTimeToLocalISO(date: Date | string | null | undefined) {
31+
if (!date) {
32+
return undefined;
33+
}
34+
35+
const d = dayjs(date);
36+
if (!d.isValid()) {
37+
return undefined;
38+
}
39+
40+
return d.format(LOCAL_DATETIME_FORMAT);
41+
}
42+
3043
function pad(num: number) {
3144
return num <= 9 ? `0${num}` : `${num}`;
3245
}
@@ -94,6 +107,7 @@ export default {
94107
utcNowDateTime,
95108
localNowDateTime,
96109
localNowDate,
110+
formatDateTimeToLocalISO,
97111
utcDateStr,
98112
utcDateTimeStr,
99113
parseDateTime,

apps/server/src/services/import/enex.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import stream from "stream";
33
import { Throttle } from "stream-throttle";
44
import log from "../log.js";
55
import { md5, escapeHtml, fromBase64 } from "../utils.js";
6+
import date_utils from "../date_utils.js";
67
import sql from "../sql.js";
78
import noteService from "../notes.js";
89
import imageService from "../image.js";
@@ -235,6 +236,8 @@ function importEnex(taskContext: TaskContext<"importNotes">, file: File, parentN
235236

236237
function updateDates(note: BNote, utcDateCreated?: string, utcDateModified?: string) {
237238
// it's difficult to force custom dateCreated and dateModified to Note entity, so we do it post-creation with SQL
239+
const dateCreated = date_utils.formatDateTimeToLocalISO(utcDateCreated);
240+
const dateModified = date_utils.formatDateTimeToLocalISO(utcDateModified);
238241
sql.execute(
239242
`
240243
UPDATE notes
@@ -243,7 +246,7 @@ function importEnex(taskContext: TaskContext<"importNotes">, file: File, parentN
243246
dateModified = ?,
244247
utcDateModified = ?
245248
WHERE noteId = ?`,
246-
[utcDateCreated, utcDateCreated, utcDateModified, utcDateModified, note.noteId]
249+
[dateCreated, utcDateCreated, dateModified, utcDateModified, note.noteId]
247250
);
248251

249252
sql.execute(

0 commit comments

Comments
 (0)