Календар і щоденник – ЧАСТИНА 3

Перси використовують сонячний календар, заснований на розробках Омара Хайяма Їх календар складається з дванадцяти місяців, перші шість з яких містять 31 днів, наступні пять – 30 днів, а в останньому 29 днів у звичайні роки і 30 днів у високосні Високосні роки трапляються по складному зразком кожні чотири або пять років

Китайський календар – це складна система місячних місяців, скомбінованих з сонячними роками Роки проходять по циклах з шістдесяти років, звичайний рік містить

12 місяців, високосний – 13 в кожному місяці або 29, або 30 днів Щороку, звичайний місяць і день іменується комбінацією одного з десяти небесних стебел і однієї з дванадцяти земних гілок, в цілому є шістдесят імен, які проходять по колу

2992  Перетворення в інший календар

Наступні команди описують обрану дату (дату, в якій знаходиться точка) в різних календарних системах:

Mouse-2 Other Calendars

Виводить дату, на якій ви клацнули, виражену через різні інші календарі

pc Виводить еквівалент вибраного у комерційному календарі ISO (calendar-print-iso-date)

pj Виводить юліанську дату для вибраного дня (calendar-print-julian-date)

pa Виводить астрономічний (юліанський) номер дня для обраної дати

(calendar-print-astro-day-number)

ph Показує юдейську дату для вибраного дня (calendar-print-hebrewdate)

pi Показує ісламську дату для вибраного дня (calendar-print-islamicdate)

pf Показує французьку революційну дату для вибраного дня (calendarprint-french-date)

p C Показує китайську дату для вибраного дня (calendar-print-chinesedate)

pk Показує коптську дату для вибраного дня (calendar-print-copticdate)

pe Показує ефіопську дату для вибраного дня (calendar-print-ethiopicdate)

pp Показує дату перського календаря для вибраного дня (calendar-printpersian-date)

pm Показує дату календаря Майя для вибраного дня (calendar-printmayan-date)

Якщо ви використовуєте X, найпростіший спосіб перевести дату в інші календарі – клацнути на ній Mouse-2 і вибрати з меню, що пункт Other Calendars Це покаже у вигляді меню еквівалентні форми для даної дати у всіх календарях, які розуміє Emacs (Вибір альтернатив з цього меню не робить нічого – воно використовується тільки для показу)

Перемістіть точку до бажаної дати в григоріанському календарі та натисніть підходящі клавіші p – це мнемоніка для print, оскільки Emacs друкує еквівалентну дату в луна-області

2993  Перетворення з іншого календаря

Ви можете використовувати підтримувані календарі для завдання дати, до якої слід переміститися Цей розділ описує команди для того різання цього в усіх календарях, крім майянского щоб дізнатися, як це зробити для календаря Майя, дивіться наступний розділ

gc Перехід до дати, заданої в комерційному календарі ISO (calendar-goto-isodate)

gj Перехід до дати, заданої в юліанському календарі (calendar-goto-juliandate)

ga Перехід до дати, заданої астрономічним (юліанським) номером дня

(calendar-goto-astro-day-number)

gh Перехід до дати, заданої в іудейському календарі (calendar-goto-hebrewdate)

gi Перехід до дати, заданої в ісламському календарі (calendar-goto-islamicdate)

gf Перехід до дати, заданої у французькому революційному календарі

(calendar-goto-french-date)

g C Перехід до дати, заданої в китайському календарі (calendar-goto-chinesedate)

gp Перехід до дати, заданої в перській календарі (calendar-goto-persiandate)

gk Перехід до дати, заданої в коптском календарі (calendar-goto-coptic-date)

ge Перехід до дати, заданої в ефіопському календарі (calendar-goto-ethiopicdate)

Ці команди запрошують у вас дату з іншого календаря, переміщають точку до еквівалентної датою григоріанського календаря і показують дату іншого календаря в луна-області При зчитуванні назви місяця Emacs використовує суворе завершення (див Розділ 53 [Завершення], с 47), тому вам не потрібно турбуватися про правильність написання іудейських, ісламських або французьких назв

Одне з питань, що часто виникають у звязку з іудейським календарем, – обчислення річниці смерті, званої yahrzeit. Календар Emacs включає засоби для таких

обчислень Якщо ви знаходитесь в календарі, команда Mx list-yahrzeit-dates запитує вас про проміжок років і потім показує для цього проміжку список yahrzeit для дати в точці Якщо ви не в календарі, ця команда спочатку запитає про дату смерті і проміжку років, а потім покаже список дат yahrzeit

2994  Перетворення з календаря Майя

Це команди для вибору дат, оснаванних на календарі Майя:

gml Переходить до дати, заданої календарем довгого рахунку (calendar-goto-mayanlong-count-date)

gmnt Переходить до наступного появи деякого місця в календарі тцолкін

(calendar-next-tzolkin-date)

gmpt Переходить до попереднього появі деякого місця в календарі тцолкін

(calendar-previous-tzolkin-date)

gmnh Переходить до наступного появи деякого місця в календарі хааб

(calendar-next-haab-date)

gmph Переходить до попереднього появі деякого місця в календарі хааб

(calendar-previous-haab-date)

gmnc Переходить до наступного появи деякого місця в календарному колі

(calendar-next-calendar-round-date)

gmpc Переходить до попереднього появі деякого місця в календарному колі

(calendar-previous-calendar-round-date)

Щоб зрозуміти ці команди, ви повинні розуміти календарі Майя Довгий рахунок – це підрахунок днів в наступних одиницях:

1 кін = 1 день 1 уіна = 20 кін 1 тун = 18 уіна

1 катун = 20 тун 1 бактун = 20 катун

Таким чином, дата 121611166 в боргом рахунку означає 12 бактун, 16 катун, 11 тун,

16 уіна і 6 кін Календар Emacs може обробляти майянскіе дати довгого рахунку від 71718131, але не більш ранні Коли ви використовуєте команду gml, набирайте майянська дату довгого рахунку, розділяючи бактун, катун, тун, уіна і кін точками

Майянський календар тцолкін – це цикл з 260 днів, формований парою незалежних циклів з 13 і 20 днів Оскільки цей цикл повторюється нескінченно, Emacs надає команди для переміщення назад і вперед до попередньої або наступної точки циклу Наберіть gmpt, щоб перейти до попередньої датою в тцолкін Emacs запитає у вас дату в тцолкін і перемістить точку до попереднього появи цієї дати Аналогічно, наберіть gmnt, щоб перейти до наступного появи дати в тцолкін

Майянський календар хааб – це цикл з 365 днів, зібраний з 18 місяців по 20 в кожному, за якими слід пятиденний період без місяця Подібно циклу тцолкін, цей цикл повторюється нескінченно, і є команди для переходу назад і вперед до попередньої або наступної точці цього циклу Наберіть gmph, щоб перейти до попередньої датою хааб Emacs запитає у вас дату в хааб і перемістить точку до попереднього появі цієї дати Аналогічно, наберіть gmnh, щоб перейти до наступного появи дати в хааб

Майя також використовували комбінацію дат тцолкін і хааб Ця комбінація – цикл приблизно в 52 роки, назиавемий календарним колом Якщо ви наберете gmpc, Emacs запитає у вас дати хааб і тцолкін і потім перемістить точку до попереднього появи цієї комбінації Використовуйте gmnc для переміщення точки до наступного появи комбінації Ці команди повідомляють про помилку, якщо набрана вами комбінація дат хааб / тцолкін неможлива

При запиті майянской дати Emacs використовує суворе завершення (див Розділ 533 [Суворе завершення], с 48), тому вам не потрібно турбуватися про правильність написання

2910  Щоденник

За допомогою щоденника Emacs можна простежувати призначені зустрічі та інші події на щоденній основі і в сукупності з календарем Щоб скористатися цими можливостями, ви повинні спочатку створити файл щоденника, що містить перелік подій та їх дат Тоді Emacs зможе автоматично підібрати і показати вам події на сьогоднішній день, на найближче майбутнє або для вказаної дати

За умовчанням як файлу щоденника Emacs використовує файл ~ / diary. Це той же самий файл, що застосовувалася в утиліті calendar Ось приклад файлу ~ / diary:

12/22/1988    Twentieth wedding anniversary!

&amp1/1             Happy New  Year

10/22             Ruth’s  birthday

* 21,  *:    Payday

Tuesday-weekly meeting  with  grad  students at  10am

Supowit,  Shen, Bitner, and Kapoor to  attend

1/13/89          Friday   the  thirteenth!

&ampthu 4pm         squash game  with  Lloyd mar 16          Dad’s birthday

April 15,  1989 Income tax  due

&amp* 15            time  cards  due

У даному прикладі для вирівнювання описів в більшості входжень подій викорис-

зовано прогалини Таке форматування повністю є справою смаку

Хоча найімовірніше ви почнете складати ежедневник вручну, Emacs надає вам кілька команд для перегляду, додавання і зміни записів щоденника

29101  Команди для перегляду записів у щоденнику

Після того як ви створили файл ~ / diary, ви можете переглядати його з календаря

Ви також можете переглянути список сьогоднішніх подій ззовні режиму Calendar

d Показує всі записи щоденника для обраної дати (view-diary-entries)

Mouse-2 Diary

Показує всі записи щоденника для дати, на якій ви клацнули

s Показує весь файл щоденника (show-all-diary-entries)

m Позначає всі видимі дати, для яких є записи в щоденнику (mark-diaryentries)

u Прибирає мітки з вікна календаря (calendar-unmark)

M-x print-diary-entries

Друкує тверду копію отображаенія щоденника в тому вигляді, в якому він є на екрані

Mx diary Показує всі входження щоденника для сьогоднішньої дати

M-x diary-mail-entries

Відправляє вам поштою нагадування про майбутні події

Відображення записів щоденника за допомогою d показує в окремому вікні входження щоденника для обраної в календарі дати Рядок режиму нового вікна показує дату для цих записів і всі випадають на неї свята Якщо ви задасте для d числовий аргумент, вона покаже всі записи щоденника на вказане число днів Тобто, 2 d покаже всі записи для обраної дати і для наступного дня

Інший спосіб переглянути записи щоденника для якої-небудь дати – клацнути на цій даті Mouse-2, а потім вибрати з меню, що пункт Diary

Щоб отримати більш широкий огляд згаданих у календарі днів, використовуйте команду m Вона показує дати, для яких у щоденнику є записи, іншим шрифтом (або поміщає після них знак +, якщо дисплей не може відобразити кілька накреслень) Ця команда застосовується як до видимих ​​в даний момент місяцях, так і до решти, які стають видимими при подальшій прокручуванні Щоб вимкнути розмітку і стерти поточні мітки, натисніть u, що вимикає також і мітки свят (див Розділ 296 [Свята], с 307)

Щоб побачити файл щоденника повністю, а не тільки деякі його входження, ис-

товуйте команду s

При виведенні обраних записів щоденника застосовується засіб вибіркового показу,

щоб приховати непотрібні записи

Буфер щоденника в тій формі, як ви його бачите – це ілюзія, тому проста його друк не дасть те, що ви бачите на екрані Для отримання твердої копії буфера щоденника таким, яким він видно, є особлива команда це команда M-x print-diary-entries Вона посилає дані безпосередньо на принтер Ви можете налаштовувати її, як lpr-region (див Розділ 304 [Роздруківка], с 331)

Команда Mx diary показує записи щоденника для поточної дати, незалежно від того, чи видно календар, і крім того, можливо, для кількох наступних днів змінна number-of-diary-entries задає число включаються днів Див розділ Calendar в The Emacs Lisp Reference Manual

Якщо ви помістіть в ваш файл . Emacs рядок (diary), то при вході в Emacs вам буде автоматично показуватися вікно із записами щоденника на сьогоднішній день Рядок режиму цього вікна показує дату і випадають на неї свята

Багатьом користувачам подобається отримувати нагадування про події з щоденника поштою Щоб послати собі такі повідомлення, використовуйте команду Mx diary-mail-entries Префіксний аргумент вказує, скільки днів (починаючи з сьогоднішнього) слід перевіряти інакше число днів визначається по змінній diary-mail-days

29102  Файл щоденника

Ваш файл щоденника – це файл, в якому записані події, повязані з визна-

леннимі датами Імя цього файлу задається змінною diary-file за замовчуванням це

‘~ / Diary. Програма calendar підтримує підмножина формату, що допускається засобами щоденника в Emacs, так що ви можете використовувати цю утиліту для перегляду файлу щоденника з розумними результатами, якщо не вважати входжень, які вона не розуміє

Кожен запис у файлі щоденника описує одну подію і складається з однієї або декількох рядків Запис завжди починається зі специфікації дати з лівого краю Інша частина запису – це просто текст, що описує подія Якщо запис містить більше одного рядка, то рядки після першої повинні починатися з відступу, як вказівку на те, що вони продовжують попереднє входження Рядки, які не починаються з правильною дати і не продовжують попереднє входження, ігноруються

Ви можете придушити розмітку певних записів із щоденника у вікні календаря

щоб зробити так, вставте на початку запису перед датою знак &. Це не впливає на

відображення запису у вікні щоденника це зачіпає тільки мітки дат у вікні календаря Заборона позначки записи особливо корисний для узагальнених входжень, які інакше позначили б занадто багато різних днів

Якщо перший рядок запису складається тільки з дати або назви дня тижня, і після неї немає пропусків або пунктуації, то такий рядок не виводиться у вікні щоденника там зявляються тільки рядки продовження Наприклад, такий запис:

02/11/1989

Bill B  visits Princeton today

2pm  Cognitive Studies  Committee meeting

2:30-5:30 Liz  at  Lawrenceville

4:00pm Dentist  appt

7:30pm Dinner  at  George’s

8:00-10:00pm  concert

зявляється у вікні щоденника без рядка з датою на початку Такий стиль записів виглядає гарніше, якщо ви переглядаєте входження для одного дня, але може заплутати, якщо ви попросите показати записи для декількох днів

Ви можете редагувати записи щоденника в тому вигляді, як вони зявляються у вікні, але важливо памятати, що цей показаний буфер містить повний файл щоденника, але деякі його частини приховані з виду Це означає зокрема, що команда Cf (forward-char) може помістити крапку в такому місці, яке здається кінцем рядка, але насправді це середина якоїсь прихованої рядка

Будьте уважні при редагуванні записів щоденника Вставка нових рядків або додавання / видалення знаків в середині видимої рядки не можуть заподіяти проблем, але редагування в кінці рядка може робити не те, що ви очікуєте Видалення рядка може видалити інші невидимі записи, які слідують за нею Перед редагуванням щоденника найкраще відобразити файл повністю за допомогою команди s (show-alldiary-entries)

29103  Формат дат

Ось кілька зразкових записів щоденника, що ілюструють різні способи форматування дати Всі ці приклади показують дати, записані в американському порядку (місяць, день, рік), але режим Calendar підтримує європейський порядок (день, місяць, рік) як альтернативу

4/20/93    Switch-over  to  new tabulation system apr 25   Start tabulating annual  results

4/30    Results  for April are  due

*/25    Monthly  cycle   finishes

Friday    Don’t  leave  without backing  up files

Перший запис зявляється тільки один раз, 20 квітня 1993 року Друга і третя зявляються щороку в задані дні, а четверта використовує для місяця символ підстановки (зірочку), тому вона зявляється 25-го числа кожного місяця Останній запис зявляється щотижня в пятницю

Для вираження дати ви можете використовувати тільки числа, як місяць / день або місяць / день / рік. Після цього повинна йти не-цифра У самій даті, місяць і день повинні бути однозначними або двозначними числами Необовязковий рік – це теж число, його можна скорочувати до останніх двох цифр тобто ви можете писати як 11 / 12/1989 , так і 11 / 12/89.

Дати також можна записувати у форматі назвамісяці день або назвамісяці день, рік , де назва місяця можна писати повністю або скорочувати до трьох букв (з крапкою або без) Регістр значення не має

Дата може бути узагальненою, тобто частково недовизначеною Тоді вона застосовується до всіх дат, відповідним специфікації Якщо дата не містить рік, то вона узагальнена і відноситься до всіх рокам Або ж місяць, день або рік можуть бути знаком

‘*; це відповідає будь-якому місяцю, дню або році Таким чином, входження щоденника

‘3 / * / * Відповідає будь-якого дня березня в кожному році то ж і для march *.

Якщо ви віддаєте перевагу європейський стиль написання дат – коли день йде перед місяцем – наберіть в календарі Mx european-calendar або встановіть змінну european-calendar-style в значення t перед використанням будь-якої команди календаря або щоденника Цей режим інтерпретує всі дати в щоденнику в європейському стилі, а також застосовує європейський стиль при відображенні дат щоденника (Зауважте, що після назвимісяці в європейському стилі немає коми) Щоб повернутися до американського (принимаемому за замовчуванням) стилю написання дат, наберіть Mx american-calendar

Ви можете використовувати назву дня тижня в якості узагальненої дати, яка відноситься до будь датою, яка припадає на цей день тижня Назви днів тижня можна скорочувати до трьох букв (з крапкою або без) або писати повністю регістр значення не має

29104  Команди для додавання до щоденника

Коли ви перебуваєте в календарі, вам доступні кілька команд для створення записів у щоденнику:

id Додає в щоденник запис для обраної дати (insert-diary-entry)

iw Додає в щоденник запис для вибраного дня тижня (insert-weeklydiary-entry)

im Додає в щоденник запис для вибраного дня місяця (insert-monthlydiary-entry)

iy Додає в щоденник запис для вибраного дня року (insert-yearly-diaryentry)

Ви можете створити в щоденнику запис для конкретної дати, вибравши цю дату у вікні календаря і виконавши команду i d Ця команда показує кінець вашого файлу щоденника в іншому вікні і вставляє дату потім ви можете надрукувати решту записи

Якщо ви хочете зробити в щоденнику запис, яка відноситься до якогось дня тижня, виберіть цей день (можна будь-яке його поява) і наберіть i w Це вставить назва дня тижня як узагальнену дату потім ви можете ввести решту записи Таким же способом ви можете створити щомісячну запис Виберіть день місяця, застосуйте команду im і введіть залишок запису Аналогічно ви можете вставити щорічну запис за допомогою команди i y

Всі описані вище команди за замовчуванням створюють помічаємо запису Щоб зробити у щоденнику непомечаемую запис, дайте команді числовий аргумент Наприклад, Cu iw створює в щоденнику непомечаемую щотижневу запис

Коли ви зміните файл щоденника, переконайтеся, що ви зберегли його перед виходом з

Emacs

29105  Особливі записи щоденника

Крім входжень, заснованих на календарних датах, файл щоденника може містити sexp-входження для регулярних подій, таких як річниці Такі записи засновані на лісповскіх виразах (s-виразах), які Emacs виконує у міру сканування файлу щоденника Замість дати sexp-входження містить рядок %%, за якої

йде лісповское вираз, укладену в круглі дужки Це вираз визначає, до яких датам стосується ця запис

Режим Calendar надає команди для вставки деяких часто використовуваних

sexp-входжень:

ia Додає в щоденник запис про річницю події для поточної дати (insertanniversary-diary-entry)

ib Додає блокову запис щоденника для поточної області (insert-blockdiary-entry)

ic Додає циклічну запис щоденника, що починається від поточної дати

(insert-cyclic-diary-entry)

Якщо ви хочете створити в щоденнику запис, яка відноситься до річниці якоїсь дати, перемістіть точку до цієї дати і використовуйте команду i a Це покаже кінець вашого файлу щоденника в іншому вікні і вставить опис річниці потім ви можете набрати решту записи Запис виглядає так:

%%(diary-anniversary 10 31 1948) Arthur’s birthday

Ця запис відноситься до 31 жовтня кожного року після 1948 10 31 1948 задає дату (Якщо ви використовуєте європейський стиль календаря, місяць і день міняються місцями) Причина того, що цей вираз вимагає вказівки початкового року, полягає в тому, що просунуті функції календаря можуть використовувати його для підрахунку минулих років

Блокова запис щоденника застосовується до заданого проміжку послідовних дат Ось блокова запис, яка відноситься до всіх датам від 24 червня 1990 до 10 липня 1990 року

%%(diary-block  6 24 1990 7 10 1990) Vacation

‘6 24 1990 позначає початкову дату, а 7 жовтня 1990 – кінцеву (Знову ж, якщо ви використовуєте європейський стиль календаря, місяць і день міняються місцями)

Щоб вставити блокову запис, помістіть точку і мітку на двох датах, які починають і завершують проміжок, і наберіть i b Ця команда показує кінець вашого файлу щоденника в іншому вікні і вставляє опис блоку потім ви можете надрукувати решту записи

Циклічні записи щоденника повторюються після фіксованого інтервалу днів Щоб створити таку запис, виберіть початкову дату і використовуйте команду i c Ця команда запитає у вас довжину інтервалу, а потім вставить запис, виглядаючу наступним чином:

%%(diary-cyclic 50 3 1 1990) Renew  medication

Ця запис відноситься до 1 березня 1990 і до кожного пятидесятих подальшого дню 3 1

1990 задає початкову дату (Якщо ви використовуєте європейський стиль календаря, місяць і день міняються місцями)

Всі три ці команди створюють помічаємо запису Щоб вставити непомечаемую запис, дайте команді числовий аргумент Наприклад, Cu ia створює непомечаемую запис для річниці деякої події

Позначка sexp-входжень щоденника в календарі надзвичайно вимоглива до часу, оскільки повинна бути окремо перевірена кожна видима у вікні календаря дата Тому краще робити sexp-входження щоденника непомечаемимі (з &), якщо можливо

Інший, ускладнений вид sexp-входження, плаваюча запис, задає регулярно трапляється подія по зрушенню, вираженого в днях, тижнях і місяцях Її можна порівняти з записами crontab, інтерпретуються утилітою cron Ось непомечаемая плаваюча запис, яка відноситься до останнього четверга листопада:

&amp%%(diary-float  11 4 -1) American Thanksgiving

Число 11 позначає листопад (одинадцятий місяць), 4 позначає четвер (четвертий день тижня, де неділя вважається нулем), а 1 позначає останній (1 позначало б перший, 2 позначало б другий,2 – передостанній і так далі) Місяць може бути єдиним або списком місяців Таким чином, ви могли б змінити 11 вище на’ (1 2 3) і отримати запис, що відноситься до останнього четверга січня, лютого і березня Якщо місяць заданий як t, запис відноситься до всіх місяцях року

У найзагальнішому вигляді, sexp-входження щоденника можуть виробляти для визначення своєї застосовності будь-які обчислення Див розділ Sexp Diary Entries в The Emacs Lisp Reference Manual

2911  Нагадування про призначені події

Якщо у вас в щоденнику є запис про призначене подію, і цей запис починається з розпізнаваного опису часу, Emacs може попередити вас за кілька хвилин про наближення цього часу Emacs попереджає вас про призначення, показуючи повідомлення в рядку режиму

Щоб включити нагадування про призначені події, ви повинні задіяти засіб Emacs для показу часу, Mx display-time (див Розділ 13 [Рядок режиму], с 25) Ви також повинні додати до пастці diary-hook функцію appt-make-list наступним чином:

(add-hook  ’diary-hook ’appt-make-list)

Приміщення такого тексту в ваш файл . Emacs робить все відразу:

(display-time)

(add-hook  ’diary-hook ’appt-make-list) (diary 0)

Якщо зроблена така підготовка, то коли ви відображаєте щоденник (за допомогою команди d у вікні календаря або через Mx diary), для всіх записів щоденника, в яких є розпізнавані опису часу, налаштовується список призначених подій, і перед кожним з них вам робиться нагадування

Припустимо наприклад, що файл щоденника містить такі рядки:

Monday

9:30am Coffee  break

12:00pm Lunch

Тоді по понеділках, після того як ви відображуватимете щоденник, вам будуть нагадувати в

9:20 про перерву для кави та в 11:50 про обід

Ви можете записувати час в стилі am / pm (де 12: 00am позначає опівночі, а

’12: 00pm – опівдні) або в двадцятичотирьохгодинному європейському / військовому стилі Необ-

зательно бути постійним файл щоденника може містити суміш цих двох стилів

Emacs автоматично оновлює список нагадувань відразу після півночі Це також відображає в буфері щоденника записи для наступного дня, якщо тільки ви не встановили appt-display-diary рівний nil

Ви також можете використовувати кошти нагадування про призначені події як будильник Команда Mx appt-add додає записи в список нагадувань, не зачіпаючи ваш файл щоденника Для видалення записів зі списку нагадувань застосовується команда Mx appt-delete

Ви можете в будь-який час вимкнути засіб нагадування про призначені події,

встановивши appt-issue-message в значення nil

2912  Сезонне переведення часу

Emacs розуміє різницю між стандартним і сезонним часом – часи, що видаються для сходів і заходів Сонця, сонцестоянь, рівнодень і фаз Місяця, враховують його Правила сезонного переведення часу міняються від місця до місця і крім того коливалися історично від року до року Щоб робити свою роботу правильно, Emacs повинен знати, яке правило використовувати

Деякі операційні системи відстежують правила, що застосовуються в тій місцевості, де ви знаходитесь на таких системах Emacs отримує необхідну інформацію від системи автоматично Якщо частина цієї інформації або вся вона невідома, Emacs заповнює прогалини правилами, використовуваними в даний час в Кембриджі, Массачусетс Якщо отримані правила – це не те, що ви хочете, ви можете повідомити Emacs потрібні правила, встановлюючи певні змінні: calendar-daylight-savingsstarts і calendar-daylight-savings-ends

Значеннями цих змінних повинні бути лісповскіе вираження, що посилаються на змінну year і що обчислюють григоріанську дату переходу на зимовий і літній час у формі списку (місяць день рік) Ці значення повинні бути рівні nil, якщо у вашій місцевості не буває сезонного переведення часу

Emacs використовує ці вирази для визначення дати переведення часу при створенні списку свят і для корректровкі часу при обчисленнях, повязаних з Місяцем і Сонцем

Для массачусетського Кембриджа ці значення такі:

(calendar-nth-named-day  1 0 4 year) (calendar-nth-named-day  -1  0 10 year)

Це позначає перший нульовий день тижня (неділя) четвертого місяця (квітня) в році, що задається змінною year, і останнє неділю десятого місяця (жовтня) в цьому ж році Якщо момент переведення часу змінився б на 1 жовтня, ви встановили б змінну calendar-daylight-savings-starts в таке значення:

(list 10 1 year)

Якщо у вашій місцевості час не переводиться, або якщо ви хочете отримувати завжди стандартний час, встановіть calendar-daylight-savings-starts і calendardaylight-savings-ends рівними nil

Мінлива calendar-daylight-time-offset задає різницю в часі після перево-

да, вимірювану в хвилинах Для массачусетського Кембриджа це 60

Змінні calendar-daylight-savings-starts-time і calendar-daylight-savingsends-time задають число хвилин після півночі за місцевим часом, коли відбувається переведення годинників Для массачусетського Кембриджа значення обох цих змінних рівні

120

Джерело: Річард Столмен, Керівництво по GNU Emacs

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*