Форум программистов, компьютерный форум CyberForum.ru

Как получить количество секунд, прошедших с 1 января 1970 года? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 40, средняя оценка - 4.70
Capella
1 / 1 / 0
Регистрация: 18.06.2010
Сообщений: 17
18.12.2010, 20:35     Как получить количество секунд, прошедших с 1 января 1970 года? #1
Здравствуйте.
Как получить количество секунд, прошедших с 1 января 1970 года? Это значение чтобы было в обычной переменной.
На СИ.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2010, 20:35     Как получить количество секунд, прошедших с 1 января 1970 года?
Посмотрите здесь:

C++ Найти количество минут и секунд ,прошедших с начала последнего часа
C++ Определить, каким днем недели является 1 января данного года
Как узнать, сколько секунд прошло с 1 января 1970 гда до определённой даты? C++
Конвертация даты из кол-ва секунд с 70-го года в нормальную C++
Количество секунд в количество суток, часов, минут, секунд C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Happy!
 Аватар для Happy!
25 / 25 / 0
Регистрация: 07.12.2010
Сообщений: 245
18.12.2010, 20:59     Как получить количество секунд, прошедших с 1 января 1970 года? #2
Вот, показывает колво секунд с момента создания unix
#include <ctime>
cout << time() << endl;
Capella
1 / 1 / 0
Регистрация: 18.06.2010
Сообщений: 17
18.12.2010, 21:52  [ТС]     Как получить количество секунд, прошедших с 1 января 1970 года? #3
А как можно сделать так, чтобы дату самому вводить, и её уже переводить в секунды от начала эпохи Unix ?
MegaAce
 Аватар для MegaAce
330 / 304 / 65
Регистрация: 14.02.2010
Сообщений: 662
18.12.2010, 23:04     Как получить количество секунд, прошедших с 1 января 1970 года? #4
Написал на с++ без среды, так что не знаю, пропашет или нет. Попробуйте такое:

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
25
26
27
28
int sec (int god1, int mes1, int den1, int chas1=0, int min1=0, int sec1=0)
{
 int god_l1 = god1-1970;
 int god_l2 = (god_l1 / 4) + 0.5;
 int den = god_l1 * 365 + god_l2;
 switch(mes1)
  {
    case 1 : den +=31; break;
    case 2 : den +=69; break;
    case 3 : den +=90; break;
    case 4 : den +=120; break;
    case 5 : den +=151; break;
    case 6 : den +=181; break;
    case 7 : den +=212; break;
    case 8 : den +=243; break;
    case 9 : den +=273; break;
    case 10 : den +=304; break;
    case 11 : den +=334; break;
    case 12 : den +=365; break;
   };
 if (god1 mod 4)den++;
 den+=den1;
 int sec = den * 86400;
 sec += chas1 * 3600;
 sec += min1 * 60;
 sec += sec1;
 return sec;
}
Happy!
 Аватар для Happy!
25 / 25 / 0
Регистрация: 07.12.2010
Сообщений: 245
19.12.2010, 00:16     Как получить количество секунд, прошедших с 1 января 1970 года? #5
Тоесть вы хотите ввести например 2004 год и получить сколько лет unix было в 2004?
MegaAce
 Аватар для MegaAce
330 / 304 / 65
Регистрация: 14.02.2010
Сообщений: 662
19.12.2010, 14:31     Как получить количество секунд, прошедших с 1 января 1970 года? #6
Цитата Сообщение от MegaAce Посмотреть сообщение
god1 mod 4
(god1 % 4)
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
19.12.2010, 17:00     Как получить количество секунд, прошедших с 1 января 1970 года? #7
Цитата Сообщение от Happy! Посмотреть сообщение
Вот, показывает колво секунд с момента создания unix
#include <ctime>
cout << time() << endl;
Не знаю когда создали unix, но ф-ция time() возвращает кол-во секунд прошедших с 1 января 1970 г.

Добавлено через 3 минуты

Не по теме:

Цитата Сообщение от Kastaneda Посмотреть сообщение
Не знаю когда создали unix
уже знаю, в 1969

kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,265
22.01.2012, 19:10     Как получить количество секунд, прошедших с 1 января 1970 года? #8
Тут объяснения нужны, по ссыли написано, что она возвращает текущее календарное время

Return Value


The current calendar time as a time_t object.
А термин "Unix" вообще не присутствует

Добавлено через 1 минуту
Текущее календарное время оно по определению не может отчитываться от чего то-там да ещё и в секундах, оно текущее календарное, 21.15.24, например
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
22.01.2012, 19:57     Как получить количество секунд, прошедших с 1 января 1970 года? #9
kravam, ты сам по своей ссылке ходил? Третий абзац:
It is almost universally expected to be an integral value representing the number of seconds elapsed since 00:00 hours, Jan 1, 1970 UTC. This is due to historical reasons, since it corresponds to a unix timestamp, but is widely implemented in C libraries across all platforms.
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,265
22.01.2012, 20:37     Как получить количество секунд, прошедших с 1 января 1970 года? #10
А это не моя ссылка, эта цитата из ссылки выше. Короче по ссылке (которую я процитировал и в которую надо тыкать) выше есть другая ссылка (в которую вы ткнули) и там, да, написано.

Но почему эта вещь вдруг стала называться календарным временем? С какой радости-то? Конечно вопрос о терминах, но он есть.
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
22.01.2012, 20:43     Как получить количество секунд, прошедших с 1 января 1970 года? #11
Любое время, соответствующие некой принятой системе отсчета, считается календарным.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2014, 17:33     Как получить количество секунд, прошедших с 1 января 1970 года?
Еще ссылки по теме:

C++ 1 января не високосного года-понедельник. Вводится число и месяц этого года. Вывести день недели этого дня
Вернуть строку, содержащую дату в формате "Сегодня 22 января 2015 года" C++
C++ Определить название месяца по количеству дней прошедших с 1 января 1990 года

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

Или воспользуйтесь поиском по форуму:
Алекстраза
 Аватар для Алекстраза
0 / 0 / 0
Регистрация: 01.03.2014
Сообщений: 4
01.03.2014, 17:33     Как получить количество секунд, прошедших с 1 января 1970 года? #12
Апну тему, т.к. возник аналогичный вопрос.
Нужно написать так чтобы пользователь вводил любую дату в формате дд/мм/гггг в периоде с 01.01.19070 по 2100 год и выдавало количество секунд с 01.01.1970.
Учусь совсем недавно и пока разобраться и написать чтобы работало не получилось.
Попробовала написать как в первом посте, но
C++
1
1>c:\documents and settings\admin\мои документы\visual studio 2010\projects\задание3\задание3\задание3.cpp(9): error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
ругается на { в самом начале программы. язык пока толком не освоила, поэтому как это исправить не знаю.
Пробовала переставлять скобки - не помогает)))) какой заголовок здесь нужен в таком случае?
Yandex
Объявления
01.03.2014, 17:33     Как получить количество секунд, прошедших с 1 января 1970 года?
Ответ Создать тему
Опции темы

Текущее время: 07:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru