2015-03-31 13 views
1

我有一个键盘宏工具(键盘大师),返回%NumberDate%变量中的当前日期;它包含2015年3月31日的字符串“3/31/15”。格式化正则表达式输出(用于键盘maestro)。

该工具支持正则表达式,所以使用正则表达式时,我需要将此值转换为格式化的字符串[yyyy/MM/dd]格式;在这个例子中[2015/03/31]。

我用来提取信息的表达式是(\d+)/(\d+)/(\d+),但是,[20$3/$1/$2]使得[2015/3/31]不是[2015/03/31]。有没有什么办法来检查$ 1或$ 2是否是一个数字来自动插入0?

enter image description here

回答

1

enter image description here

我可以使用ICUDateTimeFor来获取和更换日期格式。

%ICUDateTimeFor%NOW()+20%[yyyy/MM/dd]% 
+0

我从来不知道'ICUDateTimeFor',并认为自己的解决方案比我想出更好。包括在你的问题中使用sed:'echo $ KMVAR_date |在任务1和2之间添加'Execute Shell Script'。 sed's/^ [0-9] \ // 0&/'| sed's/\。* \/\([0-9] \)\ /(./\/ 0 \ 1 \ //'' – 2015-04-03 18:58:30

0

您可以使用标准ICUDateTime,您不需要ICUDateTimeFor。

enter image description here