我正在尝试在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 操作中似乎并非如此。在脚本编辑器中运行此代码时,控制台会按预期显示格式化日期。
非常感谢你的任何忠告。
答案 0 :(得分:0)
事实证明,变量formattedDate需要从其Objective-C包装中“解开”:
因此,最终的代码是:
ObjC.import('Cocoa');
rightNow = $.NSDate.date;
dtFormatter = $.NSDateFormatter.alloc.init;
dtFormatter.dateStyle = $.NSDateFormatterFullStyle;
dtFormatter.timeStyle = $.NSDateFormatterMediumStyle;
formattedDate = dtFormatter.stringFromDate(rightNow);
ObjC.unwrap(formattedDate)