Я пытался понять это некоторое время, и это сводит меня с ума. У меня есть несколько атрибутов в моем LDAP, которые являются отметками времени/даты. Некоторые из них отображаются в z-времени, например 20170426221554Z
, в то время как другие отображаются в более удобочитаемой форме Apr 26, 2017 4:15:54 PM MDT (20170426221554Z)
. Я просмотрел настройки, меню справки и множество мест в Интернете, и я не могу понять, как изменить формат на что-то более читабельное. Кто-нибудь может помочь?
Изменение формата временной метки в Apache Directory Studio
Ответы (1)
Глядя на код Apache Directory Studio, вы не можете изменить формат времени через пользовательский интерфейс.
Атрибуты, определенные как Generalized Times (синтаксис OID 1.3.6.1.4.1.1466.115.121.1.24), отображаются с использованием форматов времени по умолчанию для вашей локали. Если значение недопустимо, отображается необработанная строка.
Выдержка из org.apache.directory.studio.valueeditors.time.GeneralizedTimeValueEditor:
public String getDisplayValue(IValue value) {
String displayValue = super.getDisplayValue(value);
if (!showRawValues()) {
DateFormat targetFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.LONG);
try {
GeneralizedTime generalizedTime = new GeneralizedTime(displayValue);
Date date = generalizedTime.getCalendar().getTime();
displayValue = targetFormat.format(date) + " (" + displayValue + ")"; //$NON-NLS-1$ //$NON-NLS-2$
} catch (ParseException pe) {
// show the raw value in that case
}
}
return displayValue;
}
Если атрибут не является обобщенным временем, он будет отображаться по-другому (т. е. строка каталога, синтаксис OID 1.3.6.1.4.1.1466.115.121.1.15, отображается как строка)
Вы можете проверить синтаксис атрибута в Apache Directory Studio (я использую версию 2.0.0.v20161101-M12), щелкнув атрибут правой кнопкой мыши и выбрав свойства, а затем атрибут. Информация о синтаксисе примерно на полпути вниз.
В качестве альтернативы можно выполнить поиск по базе: ou-schema и отфильтровать по вашим атрибутам, например:
(&
(objectClass=metaAttributeType)
(|
(m-name=loginTime)
(m-name=modifyTimestamp)
)
)
перечислит атрибуты.
Если вы являетесь владельцем схемы LDAP, вы можете изменить синтаксис атрибута, чтобы использовать обобщенное время.
loginTime
и modifyTimestamp
имеют значение 20170509174757Z
. Это то, что отображается в данных, когда я щелкаю правой кнопкой мыши по атрибуту и выбираю свойства. Однако modifyTimestamp
отображается в удобочитаемой форме 9 мая 2017 г., 11:47:57 MDT (20170509174757Z). Оба ничего не показывают для синтаксиса (или чего-либо еще в этом отношении) в разделе атрибутов свойств.
- person user2328273; 09.05.2017