Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 40, средняя оценка - 4.70
Capella
1 / 1 / 0
Регистрация: 18.06.2010
Сообщений: 17
#1

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

18.12.2010, 20:35. Просмотров 5466. Ответов 11
Метки нет (Все метки)

Здравствуйте.
Как получить количество секунд, прошедших с 1 января 1970 года? Это значение чтобы было в обычной переменной.
На СИ.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2010, 20:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как получить количество секунд, прошедших с 1 января 1970 года? (C++):

Как узнать, сколько секунд прошло с 1 января 1970 гда до определённой даты? - C++
Если дата текущая, то это значение можно получить так: /* time example */ #include <stdio.h> #include <time.h> int main () { ...

Определить название месяца по количеству дней прошедших с 1 января 1990 года - C++
Составить программу : с 1 января 1990 года по некоторый день прошло n дней, определить название текущего месяца.

Найти количество секунд, прошедших с начала последнего часа - C++
Доброго времени суток, друзья! Помогите новичку и вообще неумейке с написанием программы вот на какие условия: С начала суток прошло N...

Найти количество минут и секунд ,прошедших с начала последнего часа - C++
С начала суток прошло N секунд (N-целое).Найти количество минут и секунд ,прошедших с начала последнего часа . помогите решить

Найти количество секунд, прошедших со времени, когда часы в последний раз показали 12 - C++
Напишите функцию, которая воспринимает время как три целых аргумента (часы, минуты и секунды) и возвращает количество секунд, прошедших со...

1 января не високосного года-понедельник. Вводится число и месяц этого года. Вывести день недели этого дня - C++
1 января не високосного года-понедельник. Вводится число и месяц этого года. Вывести день недели этого дня

11
Happy!
25 / 25 / 0
Регистрация: 07.12.2010
Сообщений: 245
18.12.2010, 20:59 #2
Вот, показывает колво секунд с момента создания unix
#include <ctime>
cout << time() << endl;
1
Capella
1 / 1 / 0
Регистрация: 18.06.2010
Сообщений: 17
18.12.2010, 21:52  [ТС] #3
А как можно сделать так, чтобы дату самому вводить, и её уже переводить в секунды от начала эпохи Unix ?
0
MegaAce
330 / 304 / 65
Регистрация: 14.02.2010
Сообщений: 662
18.12.2010, 23:04 #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;
}
0
Happy!
25 / 25 / 0
Регистрация: 07.12.2010
Сообщений: 245
19.12.2010, 00:16 #5
Тоесть вы хотите ввести например 2004 год и получить сколько лет unix было в 2004?
0
MegaAce
330 / 304 / 65
Регистрация: 14.02.2010
Сообщений: 662
19.12.2010, 14:31 #6
Цитата Сообщение от MegaAce Посмотреть сообщение
god1 mod 4
(god1 % 4)
0
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,386
Записей в блоге: 2
Завершенные тесты: 1
19.12.2010, 17:00 #7
Цитата Сообщение от Happy! Посмотреть сообщение
Вот, показывает колво секунд с момента создания unix
#include <ctime>
cout << time() << endl;
Не знаю когда создали unix, но ф-ция time() возвращает кол-во секунд прошедших с 1 января 1970 г.

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

Не по теме:

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

0
kravam
быдлокодер
1703 / 890 / 45
Регистрация: 04.06.2008
Сообщений: 5,489
22.01.2012, 19:10 #8
Тут объяснения нужны, по ссыли написано, что она возвращает текущее календарное время

Return Value


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

Добавлено через 1 минуту
Текущее календарное время оно по определению не может отчитываться от чего то-там да ещё и в секундах, оно текущее календарное, 21.15.24, например
0
NoMasters
Псевдослучайный
1764 / 1107 / 73
Регистрация: 13.09.2011
Сообщений: 3,148
22.01.2012, 19:57 #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.
0
kravam
быдлокодер
1703 / 890 / 45
Регистрация: 04.06.2008
Сообщений: 5,489
22.01.2012, 20:37 #10
А это не моя ссылка, эта цитата из ссылки выше. Короче по ссылке (которую я процитировал и в которую надо тыкать) выше есть другая ссылка (в которую вы ткнули) и там, да, написано.

Но почему эта вещь вдруг стала называться календарным временем? С какой радости-то? Конечно вопрос о терминах, но он есть.
0
NoMasters
Псевдослучайный
1764 / 1107 / 73
Регистрация: 13.09.2011
Сообщений: 3,148
22.01.2012, 20:43 #11
Любое время, соответствующие некой принятой системе отсчета, считается календарным.
0
Алекстраза
0 / 0 / 0
Регистрация: 01.03.2014
Сообщений: 4
01.03.2014, 17:33 #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: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
ругается на { в самом начале программы. язык пока толком не освоила, поэтому как это исправить не знаю.
Пробовала переставлять скобки - не помогает)))) какой заголовок здесь нужен в таком случае?
0
01.03.2014, 17:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2014, 17:33
Привет! Вот еще темы с ответами:

В списке структур найти всех граждан, родившихся до 1970 года и Ф.И.О. которых начинается с буквы ''П'' - C++
Дан список, содержащий не менее 10 записей, каждая из которых имеет структуру: Ф.И.О. Дом.адрес Номер Участка Год Тип строка Тип строка...

Определить, каким днем недели является 1 января данного года - C++
Помогите, чёт не могу понять, как это всё написать. Вот само задание - вводится номер года. Определить, каким днем недели является 1 января...

Определить, каким днем недели является 1 января данного года, если - C++
Прощу вас мне помочь, осталась последняя лаба. Задание: { Вводится номер года. Определить, каким днем недели является 1 января...

Количество секунд в количество суток, часов, минут, секунд - C++
Напишите программу, которая выдавала бы запрос на ввод количества секунд в виде целого значения ( используйте тип long) , и затем...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.