fixmint
RU

Как добавить событие в любой календарь с помощью файла .ics

Автор: · · обновлено 8 ноября 2026 г. · Чтение: 5 мин

Файл .ics — это текстовый файл в формате iCalendar, описанном в RFC 5545, который содержит одно или несколько событий. Большинство календарных приложений умеют его открывать, поэтому можно отправить один файл вместо того, чтобы просить людей вручную вписывать дату, время и место. При открытии или импорте через настройки календаря событие добавляется вместе с названием, временем и напоминанием.

Событие для календаряОтправить событие в календарьСделать бесплатно

Что содержит файл

Файл .ics — это обычный текст. Минимальное описание одного события выглядит так:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Example//Calendar//EN
BEGIN:VEVENT
UID:[email protected]
DTSTAMP:20261103T090000Z
DTSTART:20261110T120000Z
DTEND:20261110T130000Z
SUMMARY:Team lunch
LOCATION:Cafe on Main Street
END:VEVENT
END:VCALENDAR

Каждая строка — это свойство с именем и значением. UID должен быть уникальным для события, чтобы календарь распознал его, если он придёт дважды. DTSTAMP фиксирует, когда был создан файл, и должен быть указан в UTC. DTSTART и DTEND задают начало и конец, а SUMMARY — название. Текстовые значения, в которых есть запятые, точки с запятой или обратные слэши, нужно экранировать обратным слэшем, а перенос строки в описании записывается как \n.

Почему один файл работает везде

RFC 5545 — общий стандарт, и календари Google, Apple и Outlook от Microsoft читают его. Однако они не обрабатывают каждую необязательную часть одинаково, поэтому файл лучше делать простым: одно событие, понятное название, начало, конец и необязательное место. Открытие файла добавляет одно событие. Подписка на календарь работает иначе: она по веб-адресу поддерживает календарь в актуальном состоянии.

На большинстве телефонов и компьютеров при нажатии или открытии файла предлагается добавить его в календарь. Если ничего не происходит, поищите пункт импорта в самом приложении календаря.

Часовые пояса и события на весь день

Время — частая причина ошибок в записях календаря. Существует три формы записи.

  • UTC. Время с буквой Z на конце, например 20261110T120000Z, означает один и тот же момент для всех, а каждый календарь показывает его в поясе пользователя. Используйте такую запись для конкретного момента.
  • Именованный пояс. DTSTART;TZID=Europe/Istanbul:20261110T150000 закрепляет событие на 15:00 в этом поясе, даже для того, кто живёт в другом месте. Используйте для событий, привязанных к месту.
  • Плавающее время. Время без Z и без пояса, например 20261110T150000, каждый получатель читает как местное. Это подходит для личного ежедневного напоминания, но неверно для встречи между поясами. В статье почему время встреч сдвигается дважды в год разобраны типичные ловушки.

События на весь день задаются датой без времени: DTSTART;VALUE=DATE:20261110. Дата окончания не включается, то есть это день после последнего дня. Однодневное событие 10 ноября поэтому заканчивается 11 ноября. Ошибка здесь приводит к тому, что событие заходит на следующий день. В статье подсчёт дней между датами объясняется, как считать с включением и без включения границ.

Проверьте перед отправкой

Перед тем как отправить файл кому-либо, импортируйте его в свой календарь и проверьте четыре вещи:

  1. Название и место выглядят именно так, как вы их написали, без лишних обратных слэшей и пропущенных запятых.
  2. Время начала верно в вашем поясе и совпадает с тем, что вы имели в виду.
  3. Конец указан правильно, особенно для событий на весь день, которые должны заканчиваться на следующий день после последнего дня.
  4. Человек из другого часового пояса, открывший файл, видит тот же момент. Так обнаружится пояс, который вы забыли задать.

Отправляйте файл только после того, как пройдут все четыре проверки. Ошибку в файле, который уже ушёл двадцати людям, исправить гораздо сложнее, чем ту, что вы поймали в собственном календаре.

Напоминания

Напоминание — это блок VALARM внутри события. В этом примере запрашивается уведомление за 15 минут до начала:

BEGIN:VALARM
ACTION:DISPLAY
TRIGGER:-PT15M
DESCRIPTION:Reminder
END:VALARM

Многие календарные приложения учитывают сигнал из импортированного файла. Некоторые его игнорируют и применяют напоминание по умолчанию, заданное пользователем, поэтому проверяйте событие после импорта.

Ссылка или файл

Ссылка «добавить в календарь» открывает собственную форму календаря с уже заполненными данными и работает в любом браузере. Файл работает офлайн и в любом приложении, которое читает .ics. Почтовые программы и телефоны по-разному обрабатывают вложения, и некоторые не предложат добавить событие, пока файл не будет скачан. Используйте ссылку, когда люди переходят на веб-страницу, и файл, когда им нужно что-то сохранить. Во многих приглашениях есть и то и другое.

Приглашение с участниками и ответами устроено иначе. В нём используется METHOD:REQUEST из расширения планирования RFC 5546, и оно предполагает, что календарь получателя отправит ответы обратно. Обычному событию метод не нужен, либо используется PUBLISH. Для разового события с друзьями достаточно простого файла.

Как сделать это в fixmint

  1. Откройте инструмент для события в календаре и введите Title (название), затем Start date (дату начала), Start time (время начала), End date (дату окончания) и End time (время окончания).
  2. Для события на весь день отметьте All-day event и укажите в качестве даты окончания последний включённый день. Файл сам запишет окончание в нужном формате.
  3. Добавьте Location (место) и Description (описание), затем выберите Reminder (напоминание): без напоминания, за 10 минут, за 1 час или за 1 день.
  4. Проверьте Calendar file preview (предпросмотр файла календаря) и нажмите Download .ics. Если нужна ссылка, используйте Add to Google Calendar или Add to Outlook.com.
  5. Импортируйте файл в свой календарь и пройдите четыре проверки из раздела «Проверьте перед отправкой».

Короткие ответы

Может ли любое устройство открыть файл .ics?

Большинство телефонов, компьютеров и календарных приложений могут, но способ добавления отличается от приложения к приложению. Если двойной щелчок ничего не делает, используйте пункт импорта внутри календаря.

Почему моё событие отображается в другом часе?

Обычно у времени нет пояса, и тогда каждый календарь читает его как собственное местное время, либо пояс не указан. Для событий, которые касаются разных мест, используйте время в UTC или именованный пояс.

Нужна ли специальная программа, чтобы его создать?

Нет. Подойдёт текстовый файл с правильными строками, но генератор помогает избежать ошибок в форматах времени и экранированных символах.

Переведено с помощью ИИ с Английский оригинал.

Комментарии

    Комментариев пока нет. Будьте первым.

    Ваша оценка (необязательно)

    Ваша почта никогда не показывается и не сохраняется.

    Обложка книги «AI-Era Starter Shelf»AI-Era Starter Shelf

    Три практичные электронные книги об ИИ, работе и о том, как появилось машинное обучение. В комплекте они дешевле, чем покупать каждую отдельно.

    $9.99Купить на GumroadНа английском