Russian Qt Forum
Ноябрь 24, 2024, 17:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как отобразить в программе время ее сборки?  (Прочитано 4475 раз)
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« : Март 23, 2014, 00:11 »

Захотелось вот сделать такое Улыбающийся
Подскажите, как можно такое провернуть Улыбающийся
Записан

Bepec
Гость
« Ответ #1 : Март 23, 2014, 00:41 »

В общих чертах - pre-build Event где ты в каком нить файле делаешь #define %currentDataTime%. Ну и потом можешь куда угодно пихать.
У меня с этим не заладилось, т.к. использую svn. Там какая то муть получается с неверифицированными файлами Улыбающийся
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #2 : Март 23, 2014, 01:02 »

я делаю так:
Код
C++ (Qt)
tr("Compiled on: %1").arg(QLocale(QLocale::C).toDateTime(QString(__TIMESTAMP__).simplified(), "ddd MMM d hh:mm:ss yyyy").toString("dd.MM.yyyy hh:mm:ss")
но таким образом время будет меняться только при изменении файла, в котором прописан этот код (или после очистки сборки)
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #3 : Март 23, 2014, 02:01 »

я делаю так:
Код
C++ (Qt)
tr("Compiled on: %1").arg(QLocale(QLocale::C).toDateTime(QString(__TIMESTAMP__).simplified(), "ddd MMM d hh:mm:ss yyyy").toString("dd.MM.yyyy hh:mm:ss")
но таким образом время будет меняться только при изменении файла, в котором прописан этот код (или после очистки сборки)
Интересное решение Улыбающийся

UPDATE.
Проверяя, заметил, что значение в __TIMESTAMP__ поменяется при изменении файла, в котором этот макрос был вызван, так что очистка сборки не поможет, только модификация файла Улыбающийся
« Последнее редактирование: Март 23, 2014, 03:03 от gil9red » Записан

OKTA
Гость
« Ответ #4 : Март 23, 2014, 11:05 »

а __TIME__ И __DATE__? Не пробовал, но кажется они должны отвечать за время сборки.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #5 : Март 23, 2014, 13:36 »

одну величину отформатировать проще, чем две, на мой взгляд
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
OKTA
Гость
« Ответ #6 : Март 23, 2014, 14:45 »

Судя по документации, timestamp ставит время изменения, а date и time время компиляции. Разве нет?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #7 : Март 23, 2014, 15:24 »

вроде бы нет, все 3 изменяются в один и тот же момент
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
OKTA
Гость
« Ответ #8 : Март 23, 2014, 15:39 »

Ну тогда да, timestamp much more better)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.088 секунд. Запросов: 22.