我一直试图弄清楚这一点,这让我发疯了。我的LDAP中有一些属性是时间/日期戳。其中一些在z时间显示为20170426221554Z
,而其他显示为更易读的形式Apr 26, 2017 4:15:54 PM MDT (20170426221554Z)
。我已经查看了设置,帮助菜单以及在线的众多地方,我无法弄清楚如何将格式更改为更具可读性。有人可以帮忙吗?
答案 0 :(得分:0)
查看Apache Directory Studio代码,您无法通过用户界面更改时间格式。
定义为广义时间的属性(语法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)。语法信息大约是一半。
或者搜索base:ou-schema并过滤您的属性,例如:
(&
(objectClass=metaAttributeType)
(|
(m-name=loginTime)
(m-name=modifyTimestamp)
)
)
将列出属性。
如果您拥有LDAP架构,则可以更改属性语法以使用“通用时间”。