Код: Выделить всё
function excelOleDateToJavaScriptString(excelDateValue, format) {
// Convert to a JavaScript Date object
const jsDate = new Date((excelDateValue - 25569) * 86400 * 1000);
var formattedDate = kendo.toString(jsDate, format); // given a format like mm-dd-yy
// it converts to local time.
return formattedDate;
}
Я хочу сохранить заданную дату, а не текущий часовой пояс CST .
Если я укажу дату в OLE, например, 01-01-24, она преобразуется в 12-31-23, то есть CST, часовой пояс, в котором я нахожусь, отлично.. Я понимаю, что конструктор JavaScript Date() компенсирует текущий часовой пояс и, следовательно, возвращает его к моему текущему часовому поясу.
Кроме того, формат строкового значения может быть ЛЮБОЙ формат, который Excel считает допустимым. Я не знаю заранее, какой будет эта строка формата... и требуется, чтобы она сохранялась в формате, выбранном пользователем... мы не можем ее преобразовать . Итак, нет, я не могу использовать проверенные методы: toUTCString() или toISOString().
Есть предложения?
Подробнее здесь: https://stackoverflow.com/questions/789 ... keep-it-in