在批处理文件中将日期格式化为所需格式

在批处理文件中将日期格式化为所需格式

我正在运行批处理文件

@echo off
set yy=%date:~-4%
set mm=%date:~-7,2%
set dd=%date:~-10,2%
set MYDATE=%dd%%mm%%yy%
md UserRecords%MYDATE%

cd E:\testuser\OpenDJ-2.5.0-Xpress1\bat
ldapsearch -h localhost -p 1389 -D "cn=Directory Manager" -w password -b "ou=people,dc=exmple,dc=com" inetUserstatus=Active dn sn createTimestamp lastlogintime inetUserstatus>"E:\testuser\records\UserRecords%MYDATE%\userlist_%MYDATE%.txt" --trustAll

但是createTimestamp和lastlogintime中的日期格式不像我想要记录的那样。

目前的情况是:lastlogindate: 20130309100231Z

但我希望它采用通用格式:dd/mm/yyyy

可以这样做吗?我尝试在 OpenDj 的密码策略中修改它,但当我更改格式时,它不会在控制台中显示该字段。请帮忙!!

答案1

这里

你试过了吗:

dsconfig
 ... < other options >
 --set last-login-time-attribute:lastLoginTime
 --set last-login-time-format:"dd/MM/yyyy"

在执行之前ldapsearch

如果这不起作用,则可能是lastLoginTime需要满足一些要求。你可以尝试"ddMMyyyyZ"一下。


该来源

接下来,调整密码策略,在 lastLoginTime 上放置一个通用时间戳。

$ dsconfig
 -p 4444
 -h `hostname`
 -D "cn=Directory Manager"
 -w password
 set-password-policy-prop
 --policy-name "Default Password Policy"
 --set last-login-time-attribute:lastLoginTime
 --set last-login-time-format:"yyyyMMddHHmmss'Z'"
 -X -n

相关内容