Sostituire il testo con data e ora abbreviate

0
-- functions

-- replace characters
on replace_chars(this_text, search_string, replacement_string)
    set AppleScript's text item delimiters to the search_string
    set the item_list to every text item of this_text
    set AppleScript's text item delimiters to the replacement_string
    set this_text to the item_list as string
    set AppleScript's text item delimiters to ""
    return this_text
end replace_chars

-- split text

on splitText(theText, theDelimiter)
    set AppleScript's text item delimiters to theDelimiter
    set theTextItems to every text item of theText
    set AppleScript's text item delimiters to ""
    return theTextItems
end splitText


-- Actions

-- Action 1: Replace the word TIME with the Date and Time.

set shortDate to weekday & ", " & month & " " & days & " at "
set shortTime to hours & ":" & minutes

set pasteboard to the clipboard

set datePrint to shortDate & " at " & shortTime

set finalProduct to replace_chars(pasteboard, "TIME", datePrint)

set the clipboard to finalProduct

Copia niente negli appunti. Considerando che se si sostituisce il seguente

set shortDate to date string of (current date)
set shortTime to time string of (current date)

Vengo restituito "giovedì 24 maggio 2018 alle 13:42:47"

Il mio obiettivo finale è sostituire la parola "TIME" con "Date without the year" & "a" & "Tempo senza secondi"

Mi piacerebbe anche trovare un modo per mantenere l'aspetto AM o PM del tempo ma potrebbe essere più semplice trovare un modo per tagliare l'ultima sezione.

Qualsiasi input su questo sarebbe perfetto. Se c'è qualcuno che ha una nozione sul motivo per cui il primo set di codice non funziona, ma il secondo set mi piacerebbe sentirlo.

    
posta user4539850 24.05.2018 - 20:45
fonte

1 risposta

0

Dovrebbe essere così:

set curr to current date
set dateprint to curr's weekday & ", " & curr's month & " " & curr's day & ¬
" at " & curr's hours & ":" & curr's minutes as string

O per raggiungere il tuo obiettivo attuale:

tell date string of (current date)
set ds to text 1 thru -7
end tell
tell time string of (current date)
set ts to text 1 thru -7 & text -3 thru -1
end tell
set dateprint to ds & " at " & ts as string

Poiché AppleScript non fa distinzione tra maiuscole e minuscole, lo script sostituirà anche "ora" o "Ora" ... quindi avrai bisogno della dichiarazione di considerazione:

considering case
set theTime to "TIME"
set finalProduct to replace_chars(pasteboard, theTime, datePrint)
end considering 
    
risposta data 25.05.2018 - 00:30
fonte

Leggi altre domande sui tag