ОБСУЖДЕНИЕ Решено 

CSJS Работа с датой и временем, взятых в поле xpage dijit.Dialog

6 ответов 4,5 тыс.
AI-выжимка обсуждения скоро
Друзья! Есть проблема при работе с датой и временем, взятых в поле типа "Дата\время" в xpage на стороне клиента (CSJS).
получаю текст в формате dd.mm.yyyy hh:mm:ss Полученный текст хочу преобразовать в Date, "var ds = new Date(dds)" , но получаю текущую дату и время. Т.е. оператор "Date" не видит
в аргументе правильный формат для преобразования.
Можно ли как-то преобразовать без лишнего программирования этот текст в формат "yyyy-mm-ddThh:mm:ss"?
Мне надо узнать таймстамп, но без правильного формата даты я всегда получаю либо текущую дату и время, либо 1 января 1970 года, либо NaN. Помогите разобрать!
 
Последнее редактирование:
ДУмал просто форматом преобразовать. В итоге получилось программирование:
JavaScript:
var dates1    = XSP.getElementById("#{id:inputDateIn}");
var datef1    = XSP.getElementById("#{id:inputDateout}");

var ds = XSP.getFieldValue(dates1).replace(" ", "T");
//10.07.2023T14:12:33
var df = XSP.getFieldValue(datef1).replace(" ", "T");
//23.07.2023T14:16:33

var dates = ds.split("T");
var dds1 = dates[0].split(".");
var dds2 = dates[1].split(":");

var ds1 = new Date(dds1[2], (dds1[1]-1), dds1[0], dds2[0], dds2[1], dds2[2])
//Mon Jul 10 2023 14:12:15 GMT+0300
let ts1 = Date.parse(ds1)
//1688987565000

var datef = df.split("T");
var ddf1 = datef[0].split(".");
var ddf2 = datef[1].split(":");
var df1 = new Date(ddf1[2], (ddf1[1]-1), ddf1[0], ddf2[0], ddf2[1], ddf2[2])
//Sun Jul 23 2023 14:16:49 GMT+0300
let tf1 = Date.parse(df1)
//1690111018000

Всем спасибо!
 
ДУмал просто форматом преобразовать. В итоге получилось программирование:
JavaScript:
var dates1    = XSP.getElementById("#{id:inputDateIn}");
var datef1    = XSP.getElementById("#{id:inputDateout}");

var ds = XSP.getFieldValue(dates1).replace(" ", "T");
//10.07.2023T14:12:33
var df = XSP.getFieldValue(datef1).replace(" ", "T");
//23.07.2023T14:16:33

var dates = ds.split("T");
var dds1 = dates[0].split(".");
var dds2 = dates[1].split(":");

var ds1 = new Date(dds1[2], (dds1[1]-1), dds1[0], dds2[0], dds2[1], dds2[2])
//Mon Jul 10 2023 14:12:15 GMT+0300
let ts1 = Date.parse(ds1)
//1688987565000

var datef = df.split("T");
var ddf1 = datef[0].split(".");
var ddf2 = datef[1].split(":");
var df1 = new Date(ddf1[2], (ddf1[1]-1), ddf1[0], ddf2[0], ddf2[1], ddf2[2])
//Sun Jul 23 2023 14:16:49 GMT+0300
let tf1 = Date.parse(df1)
//1690111018000

Всем спасибо!
а почему не заюзать
и SetAnyTime
 
Дату из строки можно получить через метод parse Java класса DateFormat или SimpleDateFormat. Если нужно из этой даты затем можно получить NotesDateTime.
 

Статистика тем

Создано
Ficoos,
Последний ответ от
garrick,
Ответы
6
Просмотры
4 481