Wyodrębniam różne formaty dat ze strony internetowej.
Np. Niedziela 10 września 2017 r. / 09/10/2017 / 10 września 2017 r.
w tym przykładzie data jest taka sama, ale na żywo daty są całkowicie losowe i różne. Może to być 01/2/1985 / 10 listopada 2005
Pierwszy nie ma większego znaczenia, ponieważ jest to bieżąca data, którą sam generuję i mogę ją zmienić:
tell (current date)
set strMonth to (its month as integer)
set strDay to (its day as integer)
set stryear to (its year as integer)
end tell
set myOwnDate to strMonth & "/" & strDay & "/" & stryear as string
Format, którego chcę, to liczba całkowita dzień / miesiąc / rok, więc 10/09/2017.
Czy mogę zmienić dwa pozostałe ciągi (09/10/2017 / 10 września 2017 r.) Na ten format?
applescript
text
formatting
time
Kevin
źródło
źródło
day/month/year
, ale twój skrypt zwracamonth/day/year
ciąg.Odpowiedzi:
Możesz użyć NSDataDetector ( metoda kakao ) do parsowania daty z łańcucha.
Oto skrypt (testowany na macOS Sierra ):
Ostrzeżenie: w łańcuchu zawierającym „ cyfra / cyfra / rok ” skrypt nie działa z łańcuchem w formacie „ dzień / miesiąc / rok ”, łańcuch musi być w formacie „ miesiąc / dzień / rok ”
źródło
09/10/2016
, czy może to być albo 10 września 2016 r., Albo 9 października 2016 r., W zależności od Stanów Zjednoczonych, które korzystają,MDY
lub wielu innych miejsc, które korzystająDMY
, i same w sobie bez innego kontekstu I nie wierzcie, że istnieje sposób, aby ustalić, który to rzeczywiście jest. Dlatego, jeśli przekażę09/10/2016
twój moduł obsługi, zwraca"10/09/2016"
, więc czy mógłbyś wyjaśnić, skąd można wiedzieć, czy ten ciąg bez innych odniesień09/10/2016
, rozpoczęty jakoMDY
lubDMY
?