Wednesday, 22 January 2014

Date настройка времени

Пример 3



22 of January 1971, at 1.30 pm, Friday



checkdate( ) - проверка правильности даты. Аргументы: месяц, день, год. Возвращает true . если дата правильная, т. е.



месяц - целое число от 1 до 12;



Внимание! Дата может находиться в допустимом диапазоне, но остальные функции работы с датами не примут это значение. Так, нельзя использовать mktime() для годов до 1902, а также следует использовать ее осторожно для годов до 1970.



strftime( ) - формирование локальной даты и времени. Аргументы: строка формата и абсолютное время. Второй аргумент необязателен. Возвращает строку с заданной или текущей датой в указанном формате. При этом названия месяцев и дней недели извлекается из локали, выбранной с помощью функции setlocate( ) Строка формата может содержать следующие коды:



User Contributed Notes 4 notes



I think it's important to mention with the DateTime class that if you're trying to create a system that should store UNIX timestamps in UTC/GMT, and then convert them to a desired custom time-zone when they need to be displayed, using the following code is a good idea:



Should you want to convert between HH:MM:SS and plain seconds like in MySQL, these functions should do the trick:



function time_to_sec ( $time )



$hours = substr ( $time. 0. - 6 );



Отслеживание даты и времени



Oracle поддерживает три типа данных (DATE, TIMESTAMP, INTERVAL) и ряд встроенных функций, которые мы рассмотрим ниже.



Выбираем нужную информацию из типа данных DATE



До Oracle 9i, только в одном типе данных (DATE) разрешалось хранить point-in-time значения (общий термин, который включает в себя информацию о дате и времени), даже сейчас Oracle не имеет независимых типов данных только для даты или только для времени, как в некоторых других языках. Хотя в Oracle уже добавили другие типы данных связанных со временем, DATE до сих пор считается наиболее удобным и простым в этой группе.



Тип данных DATE может содержать следующую информацию: век, год, месяц, день, час, минута, и секунда. Правильными считаются даты в диапазоне Январь 1, 4712 BC to Декабрь 31, AD 9999. Используйте следующий код для объявления переменных типа данных DATE:



Обявление переменной типа DATE очень простая задача. Вам не надо использовать параметры.



Однако для того чтобы взять часть информации из DATE-переменной вам необходимо будет воспользоваться функцией TO_CHAR с форматом даты показанном в листинге:



/02/12/2006



13:06



12-FEB-06



Примечания:



2 — Встроенная функция SYSDATE возвращает текущую дату и время сервера на котором распологается БД.



5 — В этой строке присутствует пример того как взять только дату из переменной.



7 — Эта строка отображает время в военном 24-часовом формате.



9 — Когда формат вывода даты не определен, Oracle использует собственный формат даты по умолчанию из инициализационного параметра NLS_DATE_FORMAT(‘DD-MON-RRRR’).



NLS расшифровывается как National Language Support (поддержка национальных языков), также известна как GlobalizationSupport. NLS позволяет вам конфигурировать базу данных таким образом чтобы соответствоватьтребованиям разных стран по использованию форматов дат и времени. Эти настройки находятся в представлениях NLS_SESSION_PARAMETERS и NLS_DATABASE_PARAMETERS.



Применение масок форматов



Для использования даты в строковом формате, необходимо воспользоваться функцией TO_CHAR, например, так:



Функция TO_CHAR конвертирует дату в строку используя специальный формат маски. Таблица. Наиболее часто используемые опции форматирования.



Основные принципы работы с датами и временем в Excel



Видео



Как обычно, кому надо быстро - смотрим видео. Подробности и нюансы - в тексте ниже:



Как вводить даты и время в Excel



Если иметь ввиду российские региональные настройки, то Excel позволяет вводить дату очень разными способами - и понимает их все:



16:45



По желанию можно дополнительно уточнить количество секунд - вводя их также через двоеточие:



16:45:30



И, наконец, никто не запрещает указывать дату и время сразу вместе через пробел, то есть



27.10.2012 16:45



Быстрый ввод дат и времени



Для ввода сегодняшней даты в текущую ячейку можно воспользоваться сочетанием клавиш Ctrl + Ж (или CTRL+SHIFT+4 если у вас другой системный язык по умолчанию).



Если скопировать ячейку с датой (протянуть за правый нижний угол ячейки), удерживая правую кнопку мыши, то можно выбрать - как именно копировать выделенную дату:



Если Вам часто приходится вводить различные даты в ячейки листа, то гораздо удобнее это делать с помощью всплывающего календаря :



Если нужно, чтобы в ячейке всегда была актуальная сегодняшняя дата - лучше воспользоваться функцией СЕГОДНЯ (TODAY) :



Как Excel на самом деле хранит и обрабатывает даты и время



Если выделить ячейку с датой и установить для нее Общий формат (правой кнопкой по ячейке Формат ячеек - вкладка Число - Общий ), то можно увидеть интересную картинку:



То есть, с точки зрения Excel, 27.10.2012 15:42 = 41209,65417



На самом деле любую дату Excel хранит и обрабатывает именно так - как число с целой и дробной частью. Целая часть числа (41209) - это количество дней, прошедших с 1 января 1900 года (взято за точку отсчета) до текущей даты. А дробная часть (0,65417), соответственно, доля от суток (1сутки = 1,0)



Из всех этих фактов следуют два чисто практических вывода:



Во-первых, Excel не умеет работать (без дополнительных настроек) с датами ранее 1 января 1900 года. Но это мы переживем! ;)



Во-вторых, с датами и временем в Excel возможно выполнять любые математические операции. Именно потому, что на самом деле они - числа! А вот это уже раскрывает перед пользователем массу возможностей.



Количество дней между двумя датами



Считается простым вычитанием - из конечной даты вычитаем начальную и переводим результат в Общий (General) числовой формат, чтобы показать разницу в днях:



Количество рабочих дней между двумя датами



Здесь ситуация чуть сложнее. Необходимо не учитывать субботы с воскресеньями и праздники. Для такого расчета лучше воспользоваться функцией ЧИСТРАБДНИ (NETWORKDAYS) из категории Дата и время . В качестве аргументов этой функции необходимо указать начальную и конечную даты и ячейки с датами выходных (государственных праздников, больничных дней, отпусков, отгулов и т. д.):



Примечание . Эта функция появилась в стандартном наборе функций Excel начиная с 2007 версии. В более древних версиях сначала необходимо подключить надстройку Пакета анализа . Для этого идем в меню Сервис - Надстройки (Tools - Add-Ins) и ставим галочку напротив Пакет анализа (Analisys Toolpak) . После этого в Мастере функций в категории Дата и время появится необходимая нам функция ЧИСТРАБДНИ (NETWORKDAYS) .



Количество полных лет, месяцев и дней между датами. Возраст в годах. Стаж.



Про то, как это правильно вычислять, лучше почитать тут .



Сдвиг даты на заданное количество дней



Поскольку одни сутки в системе отсчета даты Excel принимаются за единицу (см. выше), то для вычисления даты, отстоящей от заданной на, допустим, 20 дней, достаточно прибавить к дате это число.



Сдвиг даты на заданное количество рабочих дней



Эту операцию осуществляет функция РАБДЕНЬ (WORKDAY) . Она позволяет вычислить дату, отстоящую вперед или назад относительно начальной даты на нужное количество рабочих дней (с учетом выходных суббот и воскресений и государственных праздинков). Использование этой функции полностью аналогично применению функции ЧИСТРАБДНИ (NETWORKDAYS) описанной выше.



Вычисление дня недели



Вас не в понедельник родили? Нет? Уверены? Можно легко проверить при помощи функции ДЕНЬНЕД (WEEKDAY) из категории Дата и время .



Первый аргумент этой функции - ячейка с датой, второй - тип отсчета дней недели (самый удобный - 2).



Вычисление временных интервалов



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



Нюанс здесь только один. Если при сложении нескольких временных интервалов сумма получилась больше 24 часов, то Excel обнулит ее и начнет суммировать опять с нуля. Чтобы этого не происходило, нужно применить к итоговой ячейке формат 37:30:55 :

No comments:

Post a Comment