【发布时间】:2022-12-13 06:58:10
【问题描述】:
我正在寻找一个 Adobe Indesign 脚本来转换日期格式。
例子25/12/2022 至 2022 年 12 月 25 日
我找到了执行此操作的脚本,但它使用的是美国日期格式 mm/DD/yyyy,我需要它使用英国日期格式 dd/MM/yyyy
原始脚本来自这个 Adobe 社区论坛,由 Oleh.melnyk 创建
寻找某人帮助将脚本更新/转换为英国日期格式 dd/MM/yyyy
//DESCRIPTION: Convert date format - finds 09/05/1936 and replac eit with 05 September 1936
#target indesign;
/*
by Oleh Melnyk at 5 April 2017
requested at https://forums.adobe.com/message/9436296#9436296
*/
//> START OF doUndoWraper
if (parseFloat(app.version) < 6) // "app.version < 6" if it's running under an earlier version than CS4, as earlier versions don't support "Undo" in scripts
doUndoWrapper();
else
app.doScript(doUndoWrapper, ScriptLanguage.JAVASCRIPT, undefined, UndoModes.ENTIRE_SCRIPT, "Change Date Format");
//< END OF doUndoWraper
function doUndoWrapper(){
function toUnique(a, b, c) { //array,placeholder,placeholder
b = a.length;
while (c = --b)
while (c--) a[b] !== a[c] || a.splice(c, 1);
return a // not needed ;)
}
function convertDateFormat(date){
var objDate = new Date(date);
var monthName = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
return ("0" + objDate.getDate()).slice(-2) + " " + monthName[objDate.getMonth()] + " " + objDate.getFullYear();
}
app.findGrepPreferences = app.changeGrepPreferences = NothingEnum.nothing; // clear settings
app.findChangeGrepOptions.includeLockedLayersForFind = false; // search in Locked Layers
app.findChangeGrepOptions.includeLockedStoriesForFind = false; // search in Locked Stories
app.findChangeGrepOptions.includeHiddenLayers = false; // search in HiddenLayers
app.findChangeGrepOptions.includeMasterPages = false; // search in Master Pages
app.findChangeGrepOptions.includeFootnotes = true; // search in Footnotes
app.findGrepPreferences.findWhat = "\\d{2}\/\\d{2}\/\\d{4}";
var whereToSearch = app.activeDocument; // default - search in entire document
var foundPrep = whereToSearch.findGrep();
var foundElements = [];
for(var x = 0; x < foundPrep.length; x++){
foundElements.push(foundPrep[x].contents);
}
var foundUnique = toUnique(foundElements);
for(var i = 0; i < foundUnique.length; i++){
var option = foundUnique[i];
app.findGrepPreferences.findWhat = option;
app.changeGrepPreferences.changeTo = convertDateFormat(option);
whereToSearch.changeGrep();
app.findGrepPreferences = app.changeGrepPreferences = NothingEnum.nothing; // clear find what and change to field
}
}
我已经安装并使用了这个脚本,但需要将其转换为使用英国日期格式 dd/MM/yyyy
任何帮助表示赞赏。
【问题讨论】: