Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/120: Рейтинг темы: голосов - 120, средняя оценка - 4.93
2 / 2 / 0
Регистрация: 11.01.2016
Сообщений: 109

Получить текущую дату в формате 01.01.2019

07.11.2019, 16:33. Показов 23973. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, как просто (одной командой) получить текущую дату в формате 01.01.2019? И вообще, возможно ли это? В Delphi это просто делалось Date(). В c++ похоже дело обстоит не так просто.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.11.2019, 16:33
Ответы с готовыми решениями:

Получить текущую дату
Как получить текущую дату Visual Studio?

Получить текущую дату в string
Пытаюсь сделать так, но у меня возникает Ошибка C4996 'localtime': This function or variable may be unsafe. Consider using localtime_s...

Как получить текущую дату в char*
Искал, везде старые методы, не работают.Нужно получить только текущую дату в char*. Буду благодарен за помощь.

9
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
07.11.2019, 16:59
Лучший ответ Сообщение было отмечено Бляхирев как решение

Решение

Цитата Сообщение от Бляхирев Посмотреть сообщение
Подскажите, как просто (одной командой) получить текущую дату в формате 01.01.2019? И вообще, возможно ли это? В Delphi это просто делалось Date(). В c++ похоже дело обстоит не так просто.
C++
1
2
3
4
5
        const time_t tm = time(nullptr);
 
        char buf[64];
        strftime(buf, std::size(buf), "%d.%m.%Y", localtime(&tm));
        std::cout << buf << std::endl;
1
Мозгоправ
 Аватар для L0M
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
07.11.2019, 17:18
Бляхирев,
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <iomanip>
#include <ctime>
 
int main()
{
    std::time_t t = std::time(nullptr);
    std::tm tm = *std::localtime(&t);
    std::cout << std::put_time(&tm, "%d.%m.%Y") << '\n';
}
1
2 / 2 / 0
Регистрация: 11.01.2016
Сообщений: 109
08.11.2019, 05:54  [ТС]
Спасибо, но это слишком витиевато. Я полагал, есть отдельная функция, которой можно это сделать. То, что в Delphi делается одним словом, тут приходится расписывать на несколько строк. И ни один из примеров не работает. У меня Visual Studio 2008.

Добавлено через 19 минут
Цитата Сообщение от L0M Посмотреть сообщение
Бляхирев,
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <iomanip>
#include <ctime>
 
int main()
{
    std::time_t t = std::time(nullptr);
    std::tm tm = *std::localtime(&t);
    std::cout << std::put_time(&tm, "%d.%m.%Y") << '\n';
}
error C2039: put_time: не является членом "std"

Добавлено через 2 минуты
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
C++
1
2
3
4
5
        const time_t tm = time(nullptr);
 
        char buf[64];
        strftime(buf, std::size(buf), "%d.%m.%Y", localtime(&tm));
        std::cout << buf << std::endl;
error C2065: nullptr: необъявленный идентификатор
error C2039: size: не является членом "std"
error C3861: size: идентификатор не найден
0
Мозгоправ
 Аватар для L0M
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
08.11.2019, 08:31
Бляхирев, предупреждать надо, что в 2019 году вы сидите на стандарте С++03.

Так должно скомпилиться:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <iomanip>
#include <ctime>
 
int main()
{
    std::time_t t = std::time(NULL);
    std::tm tm = *std::localtime(&t);
    std::cout << std::setfill('0') 
        << std::setw(2) << tm.tm_mday << '.' 
        << std::setw(2) << tm.tm_mon + 1 << '.' 
        << std::setw(4) << tm.tm_year + 1900 << '\n';
}
1
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
08.11.2019, 09:55
Цитата Сообщение от Бляхирев Посмотреть сообщение
error C2065: nullptr: необъявленный идентификатор
error C2039: size: не является членом "std"
error C3861: size: идентификатор не найден
C++
1
2
3
4
        const time_t tm = time(NULL);
        char buf[64];
        strftime(buf, 64, "%d.%m.%Y", localtime(&tm));
        std::cout << buf << std::endl;
И, на будущее, включи в настройках проекта C/C++ -> Language->C++ Language Standard = c++17 или latest
1
Злостный нарушитель
 Аватар для Verevkin
10233 / 5662 / 1260
Регистрация: 12.03.2015
Сообщений: 26,244
08.11.2019, 10:29
Цитата Сообщение от Бляхирев Посмотреть сообщение
В Delphi это просто делалось Date().
Функция Date() возвращает не строку, а TDateTime (читай - double). Для преобразования в строку (форматирование) в delphi применяются функции DateToStr(), FormatDateTime() и т.п.
--------
Си - это не паскаль. Мне, конечно, delphi больше нравится - это самый быстрый инструмент. Но писать приходится на сях, и это очень печально.

Вот так работает вывод текущей даты в консоль:
C++
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
#include <time.h>
 
int main()
{
  time_t t = time(NULL);
  struct tm* T = localtime(&t);
  printf("Текущая дата: %d.%02d.%04d\n", T->tm_mday, T->tm_mon, 1900 + T->tm_year);
  return 0;
}
1
Мозгоправ
 Аватар для L0M
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
08.11.2019, 11:29
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
И, на будущее, включи в настройках проекта C/C++ -> Language->C++ Language Standard = c++17 или latest
Угу. У ТС компилятор из 2008 года.
Цитата Сообщение от Verevkin Посмотреть сообщение
Вот так работает вывод текущей даты в консоль:
T->tm_mon + 1 месяцы с нуля считаются.
1
Злостный нарушитель
 Аватар для Verevkin
10233 / 5662 / 1260
Регистрация: 12.03.2015
Сообщений: 26,244
08.11.2019, 11:44
Цитата Сообщение от L0M Посмотреть сообщение
T->tm_mon + 1 месяцы с нуля считаются.
согласен.
1
4 / 4 / 0
Регистрация: 13.03.2022
Сообщений: 1
13.03.2022, 04:09
Ну если ты сидишь с виндоуса, то вот
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <windows.h>
using namespace std;
 
int main()
{
  SYSTEMTIME t;
  GetLocalTime(&t);
  cout << t.wDay << endl;
  cout << t.wMonth << endl;
  cout << t.wYear << endl;
  cout << t.wHour << endl;
  cout << t.wMinute << endl;
  cout << t.wSecond << endl;
}
Из библиотеке windows.h

p.s. знаю что тред старый и уже давно закрыт, но тем кто ищет, надеюсь, поможет)
4
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.03.2022, 04:09
Помогаю со студенческими работами здесь

Получить текущую дату и время в формате UNIX Timestamp
Ребят, подскажите как получить текущую дату в формате секунд, а затем вновь конвертировать в нужный формат.

Вывести текущую дату и время в определенном формате
Добрый день! Подскажите как вывести отдельным стрингом время в формате &quot;15:02&quot; и дату в формате &quot;3-10-17&quot;

Получить текущую дату без времени и вычесть другую дату
Ребята нужна помощь знатоков. Беру с сайта дату List&lt;IWebElement&gt; datew = Browser.FindElements(By.CssSelector(&quot;td.nobdr...

Дата: Получить текущую дату и дату +7 дней...
В общем проблема такая... Через кнопку у меня должно появляться текущее дата и рядом дата +7 дней. т.е. вводит &quot;10.02.17&quot; и...

Задача на функции. Имея текущую дату в формате г.м.д сделать функиции
Имеем дату, представленную в виде трёх целых чисел: год, месяц, день. Сделать функции, которые возвращают для обычного и високосного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru