0 / 0 / 0
Регистрация: 10.03.2018
Сообщений: 27
1

Проблема с ЮНИКС-временем

01.06.2020, 19:53. Показов 1693. Ответов 5

Author24 — интернет-сервис помощи студентам
Здраствуйте форумчане, у меня возникла такая проблема:
работал с UNIX-временем и заметил странность: почему-то следующий код, который должет давать сегодняшнюю
дату, выдаёт: " 1.5.2020", хотя сегодня июнь, шестой месяц, и дата должна быть "1.6.2020".

Чтобы извлечь из UNIX-времени понятное время, использовал функции
C++
1
 localtime()
и
C++
1
 localtime_s()
и почему-то переменная
C++
1
time1.tm_mon
инициализируется пятёркой, хотя должна шестёркой.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main()
{
    struct tm time1;
    time_t unixTime = time(0);
 
    //time1 = localtime(&unixTime);
    localtime_s(&time1, &unixTime);
 
     //cout << time1 ->tm_mday << "." << time1->tm_mon << "." << time1->tm_year + 1900 << " - " << unixTime << endl; 1.5.2020
     cout << time1.tm_mday << "." << time1.tm_mon << "." << time1.tm_year + 1900 << " - " << unixTime << endl; // 1.5.2020
 
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2020, 19:53
Ответы с готовыми решениями:

Проблема с временем
Возникла проблема при работе с компонентом TDateTime. Была поставлена задача - в TDateTimePicker...

Как получить разницу между текущем временем и временем создания файла?
Пробую так #include &lt;time.h&gt; time_t timer; time(&amp;timer); тут timer = 1418974297 милисекунд...

Проблема с временем
Всем привет и заранее большое спасибо В форме добавление мероприятия мне нужно сделать чтобы, если...

Проблема с временем моделирования
Generate (Exponential(1,0,17)); QUEUE Cher; SEIZE vvid; DEPART Cher; ADVANCE...

5
223 / 188 / 97
Регистрация: 15.04.2018
Сообщений: 718
01.06.2020, 20:10 2
А в консоли что команда date выдаёт?
0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
01.06.2020, 20:26 3
Лучший ответ Сообщение было отмечено RainyDay как решение

Решение

Потому что исчисление с нуля идет, т.е. январь - ноль, декабрь - одиннадцать.
1
El. Psy. Congroo.
110 / 92 / 32
Регистрация: 09.01.2018
Сообщений: 344
01.06.2020, 20:26 4
Лучший ответ Сообщение было отмечено RainyDay как решение

Решение

C++
1
time1.tm_mon+1;
https://ru.cppreference.com/w/cpp/chrono/c/tm
1
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
01.06.2020, 20:27 5
https://en.cppreference.com/w/c/chrono/tm

int tm_mon - months since January – [0, 11]
1
0 / 0 / 0
Регистрация: 10.03.2018
Сообщений: 27
01.06.2020, 20:31  [ТС] 6
всё спасибо! теперь я понял!
0
01.06.2020, 20:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.06.2020, 20:31
Помогаю со студенческими работами здесь

Проблема с датой-временем в логах
День добрый всем. У меня появилась такая проблема: Установил CentOS-7 сервер и поднял для...

Расчет тройных интегралов (проблема со временем расчета)
Здравствуйте. Проблема связана с расчетом тройных интегралов, а именно при одних значениях...

Проблема со временем обработки запроса в группе VLC плееров
Здравствуйте, у меня проблема, у меня есть группа VLC плееров со связанными с ними текстбоксами,...

Вычислить промежуток времени между текущей датой/временем и временем, введенным пользователем
Создайте новое приложение. Пакет приложения назовите com.ВАШЕ_ИМьЯ.time_span. Функционал...

Определить интервал между текущим временем и временем до звонка
Написать программку отсчитывающую время от текущего времени до конца урока

Программирование по юникс
Добрый вечер всем ;) Почти для каждой работы требуется &quot;знакомство/программирование под юникс&quot; ....


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru