Удаление только годов рождения из группы в моей адресной книге

У многих моих контактов (600+) каким-то образом был установлен год рождения 2000. Месяцы и дни их рождения указаны правильно, но 2000 неверно.

С огромной помощью, которую я получил здесь , я смог собрать их в одну группу (которую я назвал 2K).

Я хотел бы удалить годы рождения с этих карт, сохранив месяцы и дни рождения .

В моей OS X 10.8.5 это можно сделать даже вручную, но не в adayzdone 10.6.8.

Кто-нибудь может предоставить сценарий (для 10.8.5)?


Итак, я хотел бы обратить

введите описание изображения здесь

в

введите описание изображения здесь

используя AppleScript, а не вручную. И не только 10 ноября.

Вы использовали этот apple.stackexchange.com/questions/101692/… , чтобы заполнить 2000 во всех контактах без даты. Итак, теперь у вас есть 2000. Это то, чего вы хотели в первую очередь. Теперь вы хотите снова удалить эту дату?
@Buscar웃 Нет, этот скрипт не заполнил 2000 год. Этот скрипт выбрал все контакты с датой рождения 2000 года. К сожалению, он не принимает к ним никаких мер (например, удаляет 2000 из даты рождения, но сохраняет месяц и день).
С какой целью вам нужно это сделать. Дата по-прежнему будет неправильной? Без года. Что может иметь непредвиденные проблемы в дальнейшем, если это встроенное поле дней рождения. Не лучше ли перенести известные день и месяц в заметки, а затем удалить дату рождения. До того времени, когда у вас будут правильные даты
@markhunte Что ж, я получаю оповещения Календаря, за что ценю. Но мне не нравится, когда многие из них ложно заявляют, что «завтра у X будет 13-й день рождения» или что-то в этом роде. Похоже, что данные без года принимаются.
Я случайно поставил ответ на ваш старый вопрос. Это сделает то, что вы хотите
@markhunte Понятно. Я приму ответ здесь, когда окончательные результаты (моего запуска) будут позже сегодня.
Та. дайте мне знать, если есть какие-либо проблемы.

Ответы (1)

Хорошо. Поскольку у вас уже есть группа, вы уже группируетесь.

set targetGroup to "BD" 
tell application "Contacts"
    set thePeople to people of group targetGroup
    repeat with i from 1 to number of items in thePeople
        set this_item to item i of thePeople
        set thisDate to birth date of this_item
        set year of thisDate to 1604

        set birth date of this_item to thisDate
        save
    end repeat


end tell

Я попытался установить год на "" . Но это меняет всю дату. день и месяц на что-то другое.

Итак, я проверил, как выглядит «дата» даты рождения без года, и у всех у них было 1604 в позиции года.

установка года для этого, кажется, работает.