Съдържание

# Преобразуване на стойности – дати

Следващите функции преобразуват стойности – дати към числа, с които може да се извършват изчисления, и обратно.

## Функция DateSerial

Връща стойност от тип Date за зададена година, месец и ден.

## Функция DateValue

Връща обект от тип Date по низ, представящ дата.

Върнатият обект се представя вътрешно като единична числова стойност, съответстваща на зададената дата. Тази стойност може да се използва за изчисляване на броя дни между две дати.

## Функция Day

Намира деня от месеца по зададено серийно число на дата, генерирано от DateSerial или DateValue.

## Функция Month

Връща месеца от годината по зададено серийно число на дата, генерирано от функцията DateSerial или DateValue.

## Функция WeekDay

Приема серийно число, генерирано от функцията DateSerial или DateValue и връща число, съответстващо на деня от седмицата.

## Функция Year

Връща годината по зададено серийно число на дата, генерирано от функцията DateSerial или DateValue.

## Функция CDateToIso

Връща дата във формата на ISO без разделители (YYYYMMDD) по зададено серийно число на дата, генерирано от функцията DateSerial, DateValue или CDateFromIso.

Годината се състои от поне четири цифри, с водещи нули, ако абсолютната стойност е под 1000, може да бъде отрицателна с водещ минус, ако подадената дата е преди новата ера, и може да има повече от четири цифри, ако абсолютната стойност е над 9999. Върнатият форматиран низ може да е в диапазона от "-327680101" до "327671231".

Годините преди 100 и след 9999 се поддържат от LibreOffice 5.4 нататък.

## Функция CDateFromIso

Приема низ с дата във формата на ISO (YYYYMMDD или YYYY-MM-DD) и връща вътрешното числово представяне на датата.

Годината трябва да се състои или от две цифри (поддържа се само във формата YYMMDD без разделители за съвместимост), или от поне четири. При четири цифри трябва да има водещи нули, ако абсолютната стойност е под 1000, допуска се отрицателна стойност с водещ минус, ако датата е преди новата ера, и цифрите може да са повече от четири, ако абсолютната стойност е над 9999. Форматираният низ може да е в диапазона от "-327680101" до "327671231" или от "-32768-01-01" до "32767-12-31".

Невалидна дата предизвиква грешка. Година 0 не се приема, последният ден преди новата ера е -0001-12-31, а следващият ден, вече от новата ера, е 0001-01-01. Датите преди 1582 г. са по пролептичния грегориански календар.

При преобразуване на серийно число на дата към печатаем низ, например за командите Print и MsgBox, се използва подразбираният календар на локала и при датата 1582-10-15 може да се превключи към юлиански календар, при което ще се покаже различна от очакваната дата. Използвайте функцията CDateToIso, за да преобразувате такива серийни числа към низово представяне в пролептичния грегориански календар.

Форматът YYYY-MM-DD с разделители се поддържа от LibreOffice 5.3.4 нататък. Годините преди 100 и след 9999 се приемат от LibreOffice 5.4 нататък, ако не е активен режимът на съвместимост с VBA.

## Функция CDateToUnoDate

Връща датата като структура от типа com.sun.star.util.Date на UNO.

## Функция CDateFromUnoDate

Преобразува структура от тип com.sun.star.util.Date на UNO до стойност от тип Date.

## Функция CDateToUnoDateTime

Връща часа от дадена дата като структура от типа com.sun.star.util.DateTime на UNO.

## Функция CDateFromUnoDateTime

Преобразува структура от тип com.sun.star.util.DateTime на UNO до стойност от тип Date.

## Функция DateAdd

Добавя период от дати или часове към дадена дата определен брой пъти и връща получената дата.

## Функция DateDiff

Връща броя периоди от дати или часове между две зададени стойности – дати.

## Функция DatePart

Функцията DatePart връща зададена част от дата.