Меню Рубрики

Установка даты на default

Настройка даты и времени в Linux – команда date

Как это часто бывает, всё самое важное скрывается за самыми простыми вещами. Так и в случае с установкой/настройкой даты и времени в системе. Некорректные значения этих параметров запросто ломают логику работы многих приложений, особенно это касается тех систем, где на этом построены целые сервисы, такие как интернет-магазины, SCADA-системы на производстве и т. д. Поэтому так важно следить за корректными настройками времени, даты, языковых форматов, а также уметь все эти параметры настраивать. В системах Linux всё это позволяет выполнять команда date.

Синтаксис и основные опции

Согласно официальной информации, доступной из справочного руководства (команда man date), синтаксис команды date следующий:

Если дать команду date без аргументов или если аргументы начинаются с символа «+», то по-умолчанию будет выведено текущие значения даты и времени. В ином случае производится установка даты и времени, передаваемые в аргументах в каком-либо из форматов. Например, для установки времени введите команду

MM — Месяц
DD — День,
hh — часы в 24-часовом формате,
mm — минуты,
YYYY — 4 цифры года,
ss — секунды.

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

Ниже мы боле подробно рассмотрим параметры ввода даты и времени.

Следующая команда выводит информацию о текущих дате и времени в форматированном виде:

Как видно, символ «+» позволяет печатать установленные (текущие) значения, а следующее за ним выражение задаёт формат вывода этих значений. Шаблон подстановки «%n» здесь служит для переноса строки. Все остальные шаблоны подстановки используются для выборки соответствующих компонент времени: месяцы, дни, часы, минуты и т. д. Само же выражение должно заключаться в кавычках, если в нём присутствуют пробельные символы.

Параметры CC, YY и .ss в синтаксисе date означают две последние цифры года, век и секунды (от 0 до 59) соответственно. И эти параметры не являются обязательными. Для того, чтобы устанавливать дату и время с помощью команды date, необходимы права суперпользователя.

В следующей таблице приводится описание основных опций команды date:

Опция Значение
-d, —date=STRING Вычисляет день недели для заданной даты в качестве STRING. Дата задаётся в формате ггммдд.
-f, —file=DATEFILE То же самое, что и -d, но для исходных данных используется содержимое из файла FILE.
-r, —reference=FILE Определяет время последней модификации файла FILE.
-s, —set=STRING Устанавливает время/дату, заданные строкой STRING.
-u, —utc, —universal Использование формата

Форматы ввода/вывода даты и времени

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

Элемент Описание
mm Минуты — от 0 до 59.
hh Часы — от 0 до 23.
DD Дни — от 0 до 28, 29, 30 и 31.
MM Месяцы — от 01 до 12.

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

Узнать время последнего изменения какого-либо файла:

Узнать день недели по его дате:

Вообще, команду date очень активно используют программисты для написания программного кода приложений, работающих с датой/временем, а также при написании скриптов для автоматизации некоторых процессов. Например, для автоматического наименования фалов, в имени которых содержится подстрока с датой его создания:

В результате будет создана копия файла settings.php под именем settings.php_back-070319. В данном случае используется директива $( ) для задания имени файла. Нужно заметить, что данный приём — очень мощный инструмент при работе в командной оболочке Linux.

Заключение

В заключение следует отметить отличную гибкость и большие возможности простой консольной утилиты, доступной по команде date, которая на первый взгляд не представляется заслуживающей внимания. Однако, команда date – это яркий пример «маленькой, но очень эффективной программы» в UNIX-подобных системах.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

источник

Установка времени Linux

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

Читайте также:  Установка раскосов на опалубку

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

Как работает время на компьютере?

Статья ориентирована на новичков, в первую очередь на них, потому что профессионалы уже и так знают как это сделать. Поэтому сначала рассмотрим как работает время в Linux. Когда компьютер работает часы идут, это ясно, но когда вы его отключаете, а затем включаете снова часы показывают не то время, на котором остановились, а правильное время. Это происходит потому, что часы на материнской плате идут постоянно. Таймер питается от той же батарейки, что и энергозависимая память BIOS.

Операционная система передает значение таймера в память BIOS при выключении и берет его оттуда при включении. Отсюда берутся проблемы со временем при двойной загрузке Windows и Linux, но эта тема раскрыта в другой статье — сбивается время в Ubuntu и Windows. Другая проблема почему может сбиваться время — это неверно установленный часовой пояс. Если вы установили часовой пояс linux неверно, то часы будут постоянно синхронизироваться через интернет и идти неверно.

Когда все проблемы с временем будут устранены, можно перейти установить нужное время и быть уверенным что оно не будет сбиваться. Дальше рассмотрим как это сделать.

Установка времени Linux

Вы можете видеть текущее время прямо на вашем рабочем столе, в KDE часы добавлены на панель, да и в Gnome, они размещены по центру панели по умолчанию:

Если навести курсор на время, вы увидите более подробную информацию, область уведомлений и календарь.

Но настроить время здесь уже не получится. Для этого нужно открывать настройки системы. Мы будем рассматривать настройки для Gnome. Откройте меню Dash и наберите в строке поиска «Параметры»:

Дальше откройте «Дата и время»:

Как видите, здесь уже установлено значение по умолчанию «Автоматическое определение даты и времени», а внизу есть пункт, который отвечает за часовой пояс.

Вы можете просто поменять часовой пояс чтобы время синхронизировалось правильно, если что-то не так. Также можно задать время вручную. Для этого сначала отключите автоматическую синхронизацию, а затем выберите дату и время:

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

Установка времени через терминал

Кроме графического интерфейса, у вас есть возможность делать все необходимые действия через терминал. Для этого есть утилита date. Сначала смотрим текущее время:

У утилиты есть множество опций отображения и настроек, но мы не будем их рассматривать. Есть еще одна команда, которая позволяет посмотреть системное время linux:

Чтобы установить время можно использовать ту же команду date. Для этого ей нужно передать строку со временем и датой, например:

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

sudo date —set «Wed Sep 6 20:43:36 EEST 2017»

Если у вас включена коррекция даты через интернет, то ее нужно отключить перед этим, потому что вы даже заметить изменений не успеете, как сервер времени linux установит правильное время. Можно сократить эту строку:

sudo date —set «Sep 6 20:43:36 2017»

Это даст тот же результат. Еще один вариант — указать формат данных, которые вы собираетесь передавать с помощью модификаторов, например, изменить время linux:

Здесь формат очень прост — часы:минуты:секунды. Можно давать время в 12 часовом формате, для этого добавьте модификатор %p:

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

Еще один новый инструмент от systemd для управления временем — timedatectl. С помощью него можно выполнить те же операции, сначала смотрим доступную информацию о времени:

Текущее системное время отображается в строке Local Time. Чтобы изменить дату, используйте опцию -set-time. Синтаксис передаваемого ей параметра такой: ГГГГ-ММ-ДД ЧЧ:ММ:СС. Думаю тут понятно и без комментариев. Например:

sudo timedatectl —set-time «2017-09-06 20:43:36»

Можно задать только время, тогда нужно использовать синтаксис времени ЧЧ:ММ:СС, например:

sudo timedatectl —set-time «20:43:36»

Еще раз говорю, что если включена синхронизация по сети, то вы не сможете изменить время. Но с помощью timedatectl ее можно отключить:

sudo timedatectl set-ntp no

sudo timedatectl set-ntp yes

C помощью этой же команды можно не только установить время linux, но и настроить часовой пояс, для этого используйте опцию set-timezone:

Читайте также:  Установка 104 мотора вместо 102

sudo timedatectl set-timezone ‘Russia/Moscov’

Вы можете посмотреть список доступных часовых поясов командой:

Видео о настройке времени с помощью timedatectl:

Выводы

Вот и все. Теперь вы знаете как выполняется установка времени linux. Как видите, это очень просто, вы можете использовать различные способы, в зависимости от того, что вам будет удобнее. Если у вас остались вопросы, спрашивайте в комментариях!

источник

Хранение даты в mysql с учетом часового пояса


Статья о том, как избежать путаницы с датами, хранимыми в mysql.
Эти путаницы возникают по двум причинам:
1. Разные территории нашей планеты имеют разный сдвиг времени.
2. Некоторые страны переходят на летнее время и обратно(карта со странами, переходящими на летнее время).

Многие решают эти проблемы по-разному. Кто-то делает сдвиг даты в SQL запросах, кто-то в php. Кто-то хранит даты в TIMESTAMP, кто-то в DATETIME. Я переискал много источников, но нигде не нашел верного решения данной проблемы на русском. В родной документации по mysql нашел информацию о том, как добиться корректной автоматической конвертации TIMESTAMP в локальное время, но тут тоже свои подводные камни.

Если в php настройка временной зоны делается просто, в mysql возникают сложности, особенно, если доступ к mysql серверу вам ограничен и там еще не установлены некоторые таблицы.

Чем отличаются форматы хранения даты TIMESTAMP и DATETIME, я надеюсь вы знаете.
Значение TIMESTAMP является абсолютным значением времени, которое не зависит от локальных настроек. В любой стране, на любом компьютере оно одно и тоже. По-этому, в большинстве случаев лучше хранить дату именно в TIMESTAMP.

Если вы сделаете запрос
SELECT `timestamp_field` FROM table
вы получите дату в формете «гггг-мм-дд чч: мм: сс».
Казалось бы, все просто. И эта простота слишком соблазнительна и именно из за нее могут возникать проблемы, ведь нужно указать какая временная зона у пользователя, для которого достается дата.
И решение есть: можно задавать зону запросом

где ‘+03:00’ — это текущий сдвиг даты от лондонского нулевого времени.
Но после этого запроса mysql начинает неверно обрабатывать переход на летнее время.
Если значение time_zone установлено в SYSTEM (по умолчанию), переход на летнее время обрабатывается верно.
Например, сейчас лето и действует летнее время.
Нам нужно перевести в локальное время TIMESTAMP, хранимый в БД. Его значение — 946681261 (это ‘2000-01-01 01:01:01’ по Киевскому времени)
Делаем запрос:

SET time_zone = ‘SYSTEM’;
SELECT NOW(), FROM_UNIXTIME(946681261);

Получаем результат:

NOW() FROM_UNIXTIME(946681261)
2009-09-14 16:00:40 2000-01-01 01:01:01

Теперь изменим временную зону
SET time_zone = ‘+03:00’;
SELECT NOW(), FROM_UNIXTIME(946681261);

NOW() FROM_UNIXTIME(946681261)
2009-09-14 16:00:40 2000-01-01 02:01:01

Как видите, вместо ожидаемого ‘2000-01-01 01:01:01’ мы получили время на час больше. Тогда как текщее время отображается правильно.
Можно настроить mysql нужным образом (хорошо, если есть полный доступ к БД) и задавать временную зону в формате

SET time_zone = ‘America/Toronto’;

После этого может показаться, что все проблемы исчезнут. Но тут тоже могут быть сюрпризы.
Например, в 2007 году в США, Мексике и Канаде произошли некоторые изменения в правилах перехода на дневное время. А так как данные о временных зонах вносятся вручную в mysql, то вы должны следить за актуальностью данных. Хуже того: например, если вы используете язык PHP, вы должны следить за тем, что бы данные о временных зонах в mysql соответствовали данным в PHP — а это уже гораздо сложнее.

По-этому лучшее решение, если вы используете PHP я вижу в следующем:
1. Хранить дату в mysql в TIMESTAMP
2. Всегда в PHP задавать временную зону пользователя функцией
date_default_timezone_set()
3. Доставать значение TIMESTAMP из БД и переводить его в нужный формат в PHP функцией
date($format, $timestamp);

По крайней мере до 2038 года вы сможете быть уверены в том, что путаницы с датами нет.

источник

Как в Word настроить полный и краткий форматы даты и времени, заданные по умолчанию

Вставка автоматически обновляемых даты и времени в документ может быть весьма полезной. В диалоговом окне Дата и время (Date and Time) есть много форматов даты и времени, из которых можно выбрать подходящий. Кроме того, Вы можете настроить, как именно будут выглядеть доступные форматы.

Чтобы открыть диалоговое окно Дата и время (Date and Time), нажмите на одноименную кнопку, которая находится на вкладке Вставка (Insert) в группе команд Текст (Text).

Вероятно, Вы обратили внимание на кнопку По умолчанию (Set As Default), когда вставляли дату и/или время при помощи диалогового окна Дата и время (Date and Time). Название кнопки вводит в заблуждение. Непонятно, что она делает на самом деле. Когда Вы выбираете формат из списка в диалоговом окне Дата и время (Date and Time) и нажимаете По умолчанию (Set As Default), выбранный формат применяется к значению поля Date, когда оно вставляется в документ нажатием клавиш Shift+Alt+D.

Читайте также:  Установка openbox ubuntu server

Поле Date также можно вставить с помощью Ленты меню. Для этого перейдите на вкладку Вставка (Insert) и в группе команд Текст (Text) нажмите Экспресс-блоки > Поле (Quick Parts > Field). Далее в списке Поля (Field names) выберите поле Date.

Кнопка По умолчанию (Set As Default) ничего не делает с форматами даты и времени, доступными в диалоговом окне Дата и время (Date and Time). Нажимая эту кнопку, Вы не определяете, какой параметр будет выбран в этом диалоговом окне по умолчанию. Word запомнит выбранный вариант лишь на время, пока приложение открыто. Когда в текущей сессии Вы вновь вызовете диалоговое окно Дата и время (Date and Time), в нём будет выбран тот же параметр, что и в прошлый раз. Если же Вы закроете Word, то при следующем запуске приложения снова будет выбран первый параметр из списка.

Верхний элемент в списке диалогового окна Дата и время (Date and Time) соответствует краткому формату даты, определённому в панели управления. Поэтому, если Вы хотите изменить формат даты, стоящий в списке на первом месте, нужно внести изменения в параметры региональных стандартов Windows. Чтобы настроить эти параметры, нажмите клавиши Windows+X и в появившемся меню выберите пункт Панель управления (Control Panel).

В открывшемся окне нажмите Часы, язык и регион (Clock, Language, and Region), если у Вас включен режим просмотра по категориям.

Кликните по Изменение форматов даты, времени и чисел (Change date, time, or number formats) в разделе Региональные стандарты (Region).

Если Панель управления (Control Panel) отображается в режиме просмотра Крупные значки (Large icons) или Мелкие значки (Small icons) …

… нажмите Региональные стандарты (Region) в списке Все элементы панели управления (All Control Panel Items).

Откроется диалоговое окно Регион (Region). Выберите подходящий вариант из выпадающего списка Краткая дата (Short date) на вкладке Форматы (Formats). Именно этот формат появится на самом верху списка в диалоговом окне Дата и время (Date and Time).

Чтобы изменить полный (длинный) формат даты, который будет показан вторым сверху в диалоговом окне Дата и время (Date and Time), выберите нужный вариант из выпадающего списка Полная дата (Long date).

Точно также можно изменить краткий и полный форматы времени. Для этого необходимо выбрать подходящие варианты из выпадающих списков Краткое время (Short time) и Полное время (Long time) соответственно. Когда настройки будут завершены, нажмите ОК, чтобы сохранить изменения и закрыть диалоговое окно Регион (Region).

Чтобы закрыть Панель управления (Control Panel), нажмите кнопку Х в верхнем правом углу окна.

Теперь при вставке даты или времени в Word с помощью диалогового окна Дата и время (Date and Time), в списке Форматы (Available formats) Вы увидите настроенные Вами форматы. Если Вы изменяли полный и краткий формат времени, они появятся первыми в списке, где начинаются доступные форматы времени.

Примечание: Иллюстрации к этой статье сделаны в Word 2013.

Помните, что кнопка По умолчанию (Set As Default) в диалоговом окне Дата и время (Date and Time) устанавливает формат, который используется по умолчанию при вставке в документ поля Date нажатием клавиш Shift+Alt+D.

Когда Вы нажмёте кнопку По умолчанию (Set As Default) в диалоговом окне Дата и время (Date and Time), чтобы изменить формат, который используется по умолчанию для поля Date, появится окно с запросом подтверждения, в котором нужно нажать Да (Yes).

Теперь, когда Вы нажмёте Shift+Alt+D, чтобы быстро вставить поле Date, в документе появится дата в формате, который Вы установили по умолчанию в диалоговом окне Дата и время (Date and Time). Помните, что настройки, устанавливаемые нажатием кнопки По умолчанию (Set As Default), это не тоже самое, что полный и краткий формат даты и времени, которые Вы настроили в панели управления в Windows.

Примечание: Если Вы измените полный и краткий форматы даты и времени в региональных настройках Windows, то это изменит отображение дат не только в Word, но и в других приложениях.

источник