Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/40: Рейтинг темы: голосов - 40, средняя оценка - 4.58
 Аватар для Fantom2209
30 / 30 / 20
Регистрация: 28.02.2014
Сообщений: 195

Работа с датой <сtime>

20.04.2015, 11:40. Показов 8551. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Помогите пожалуйста. Нужно в переменную int year записать нынешний год.

нашел код в аналогичной теме:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <time.h>
#include <iostream>
using namespace std;
int  main()
{
    struct tm *tim;
    time_t tt = time(NULL);
    tim = localtime(&tt);
    int theDay = tim->tm_mday;
    int theMonth = tim->tm_mon;
    int theYear = tim->tm_year + 1900;
    printf("%d.%d.%d", theYear, theMonth, theDay); // или std::cout << theYear << "." << theMonth << "." << theDay;
}
выдает ошибку:

Ошибка 1 error C4996: 'localtime': This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. c:\users\user\documents\visual studio 2013\projects\consoleapplication18\conso leapplication18\исходный код.cpp 8 1 ConsoleApplication18

Использую VS2013. Помогите пожалуйста добиться нужного результата.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.04.2015, 11:40
Ответы с готовыми решениями:

работа с датой
как можно перевести дату в день, а также просуммировать или отнять 2 даты, которые заданы моей структурой struct DATE { int d,m,y; }

Работа с датой
std::string str = &quot;Thu, 01-Jan-1970 00:00:01 GMT&quot;; std::tm t_time; std::istringstream ss(str); ss &gt;&gt; std::get_time(&amp;t_time, &quot;%a,...

Работа с датой (time.h)
Вообщем такая проблема: void GetDate(time_t t,tm *tk) { time(&amp;t); tk=localtime(&amp;t); cout&lt;&lt;&quot;Local date: &quot;; ...

8
2 / 2 / 3
Регистрация: 14.04.2015
Сообщений: 13
20.04.2015, 11:54
оно работает, экран только схлопывается
добавить в конец
system("pause");
return 0;

а C4996 - warning, бороться по ее же рекомендации
0
 Аватар для Fantom2209
30 / 30 / 20
Регистрация: 28.02.2014
Сообщений: 195
20.04.2015, 12:01  [ТС]
botaniker, нет! 13 студия выдает ошибку компиляции(не предупреждение) по этому программа не запускается. Насколько я понял функция localtime сильно устарела.

Подскажите пожалуйста, как получить нынешний год современным способом)
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 35
20.04.2015, 12:06
Fantom2209, скорее не функция, а хедер.
Цитата Сообщение от Fantom2209 Посмотреть сообщение
#include <time.h>
Замените на
C++
1
#include <сtime>
0
2 / 2 / 3
Регистрация: 14.04.2015
Сообщений: 13
20.04.2015, 12:10
может тогда так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <time.h>
#include <iostream>
using namespace std;
int  main()
{
    struct tm tim;
    time_t tt = time(NULL);
    
    localtime_s(&tim, &tt);
    
    int theDay = tim.tm_mday;
    int theMonth = tim.tm_mon;
    int theYear = tim.tm_year + 1900;
    printf("%d.%d.%d", theYear, theMonth, theDay); // или std::cout << theYear << "." << theMonth << "." << theDay;
        
    system("pause");
    return 0;
}
правда студия у меня 10-я
0
 Аватар для Fantom2209
30 / 30 / 20
Регистрация: 28.02.2014
Сообщений: 195
20.04.2015, 12:13  [ТС]
Тамика, такой код приводит к похожей ситуации. Тролит)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <ctime>
 
int main()
{
    time_t rawtime;
 
    time(&rawtime); // текущая дата в секундах
    std::cout << "Текущее локальное время и дата: "
        << ctime(&rawtime); // текущая дата в понятной для человека форме
 
    return 0;
}
Ошибка 1 error C4996: 'ctime': This function or variable may be unsafe. Consider using ctime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. c:\users\user\documents\visual studio 2013\projects\consoleapplication18\conso leapplication18\исходный код.cpp 10 1 ConsoleApplication18
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 35
20.04.2015, 12:14
Fantom2209, думаю, тут стоит послушать компилятор и попрбовать ctime_s. Всегда не любила возню с датами.
1
 Аватар для Fantom2209
30 / 30 / 20
Регистрация: 28.02.2014
Сообщений: 195
20.04.2015, 12:37  [ТС]
Тамика, Смотрите! MSDN выводит полную дату таким образом.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <time.h>
#include <stdio.h>
#include <Windows.h>
#include <iostream>
#define SIZE 26
using namespace std;
int main(void)
{
    time_t ltime;
    wchar_t buf[SIZE];
    errno_t err;
 
    time(&ltime);
 
 
    err = _wctime_s(buf, SIZE, &ltime);
    if (err != 0)
    {
        printf("Invalid Arguments for _wctime_s. Error Code: %d\n", err);
    }
    
    wprintf_s(L"The time is %s\n", buf);
    system("pause");
}
все хорошо работает. но мне нужно вытянуть год ( . Как вы думаете, возможно это сделать модифицируя этот кусок?
0
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
20.04.2015, 13:26
Лучший ответ Сообщение было отмечено Fantom2209 как решение

Решение

Цитата Сообщение от Fantom2209 Посмотреть сообщение
To disable deprecation, use _CRT_SECURE_NO_WARNINGS
Задайте директиву
C++
1
#define  _CRT_SECURE_NO_WARNINGS
и никаких
Цитата Сообщение от Fantom2209 Посмотреть сообщение
This function or variable may be unsafe.
не будет.

Добавлено через 1 минуту
Работа с <ctime>
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.04.2015, 13:26
Помогаю со студенческими работами здесь

Работа с датой и временем
Доброе время суток дорогие программисты, у меня возникла очень большая проблема, которую я не могу решить. Если вам не трудно не могли бы...

Работа со временем и датой
Помогите, при добавлении нового элемента время изменяется на время последнего добавления class Meas { time_t timer; tm* date; ...

Задача. Работа с датой
Дали задание, но я не пойму, что от меня требуется, подскажите пожалуйста, что нужно сделать? &quot;включить в класс функции для: ...

Работа с датой и функция SetVolumeLabel
1) Изменение системной даты Делал так: void GetDate(time_t t,tm *tk) { time(&amp;t); tk=localtime(&amp;t); ...

Работа с датой до нашей эры
У меня есть количество дней пройденные с 01.01.4713 ДО НАШЕЙ ЭРЫ. Нужно получить дату (-01.01.4713 + колво дней) Как работать с такой...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru