Сравните два поля даты, используя SSJS

У меня есть два поля даты в документе. Мне нужно проверить, если эти два поля содержат одно и то же значение, используя SSJS.

Значения в этих полях могут быть как datetime, так и "not set" (пусто)

Как мне это сделать?

Томас

1 ответ

Решение

Самый простой способ - сравнить строковые значения дат:

var d1 = document1.getItemValue("date1").toString();
var d2 = document1.getItemValue("date2").toString();
return d1 == d2

Если вы хотите сравнить только даты, вы можете сделать это, преобразовав дату с помощью Java-класса SimpleDateFormat.

var sdf = new java.text.SimpleDateFormat("YYYY-MM-dd");
var d1 = document1.getItemValueDate("date1");
var d2 = document1.getItemValueDate("date2");
d1 = d1 == null?"":sdf.format(d1);
d2 = d2 == null?"":sdf.format(d2);
return d1.equals(d2)

Вы можете настроить форматирование в первой строке в соответствии с вашими потребностями. Больше информации о форматировании можно найти здесь

Другие вопросы по тегам