automator

时间:2015-05-14 04:28:33

标签: javascript automator

我正在尝试在Automator中创建一个写出格式化日期字符串的服务。我编写了一个能完成这项工作的JavaScript,但我无法弄清楚实际从脚本中获取输出字符串。我已经尝试了log,console.log,this.console.log,write以及我在那里发现的一些其他命令。我根本没有JavaScript经验;我在几个小时内将它们拼凑在一起。这是我的代码:

ObjC.import('Cocoa');
rightNow = $.NSDate.date;
dtFormatter = $.NSDateFormatter.alloc.init;
dtFormatter.dateStyle = $.NSDateFormatterFullStyle;
dtFormatter.timeStyle = $.NSDateFormatterMediumStyle;

formattedDate = dtFormatter.stringFromDate(rightNow);

我的阅读印象中,最后一行代码会提供输出,但在Automator中运行JavaScript 操作中似乎并非如此。在脚本编辑器中运行此代码时,控制台会按预期显示格式化日期。

非常感谢你的任何忠告。

1 个答案:

答案 0 :(得分:0)

事实证明,变量formattedDate需要从其Objective-C包装中“解开”:

Answered at MacScripter

因此,最终的代码是:

ObjC.import('Cocoa');
rightNow = $.NSDate.date;
dtFormatter = $.NSDateFormatter.alloc.init;
dtFormatter.dateStyle = $.NSDateFormatterFullStyle;
dtFormatter.timeStyle = $.NSDateFormatterMediumStyle;

formattedDate = dtFormatter.stringFromDate(rightNow);

 ObjC.unwrap(formattedDate)