Applescript 更改日期格式

Applescript change Date format

我希望有人能帮助我得到这个苹果脚本来格式化日期 MM/DD/YY 或至少是短日期格式。我被挖了一点,但就脚本和识别变量而言,我不知所措。

我是 运行 附加脚本,用于将我当前的所有 Safari 选项卡添加到 Things(ToDoList 应用程序)

https://gist.githubusercontent.com/cdzombak/b93ce2c0dca0f53a0cbcc29784882dfd/raw/2cb3b9c3f616c2c883079e9b84225fca343255e0/Safari%20Tab%20List%20to%20Things.scpt

它运行得很好,但我想缩短日期

我的假设是我需要在定义变量的脚本顶部进行更改。

-- SET DATE STAMP
set the dateStamp to ((the current date) as string)
set noteTitle to "URL List from Safari Tabs on " & the dateStamp

最后一行看起来像现场,但我不确定要更改什么或如何格式化它。

你给出了提示:至少短日期格式

set dateStamp to short date string of (current date)

具体的字符串格式取决于当前的语言环境。


更通用的是 shell

date 命令
set dateStamp to do shell script "/bin/date +%D"

哪个returnsMM/DD/YY


或者您可以使用 AppleScriptObjC

use AppleScript version "2.5"
use framework "Foundation"
use scripting additions

set dateFormatter to current application's NSDateFormatter's new()
set dateFormatter's locale to current application's NSLocale's localeWithLocaleIdentifier:"us_EN_POSIX"
set dateFormatter's dateFormat to "MM/dd/yyyy"
set dateStamp to (dateFormatter's stringFromDate:(current date)) as text

您只需更改设置 dateStamp 变量的部分。为避免任何区域设置问题或用户设置,有几种方法可以获取自定义字符串。

可以使用 shell 脚本,但您需要查找 strftime 格式:

set dateStamp to (do shell script "date \"+%m/%d/%y\"")

我通常会得到一个 ISO 日期字符串 (yyyy-MM-ddThh:mm:ss) 并根据需要排列这些片段:

tell ((current date) as «class isot» as string) to set dateStamp to text 6 thru 7 & "/" & text 9 thru 10 & "/" & text 3 thru 4