Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/50: Рейтинг темы: голосов - 50, средняя оценка - 4.72
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562

Как вывести в поток текущие дату и время?

13.04.2011, 12:26. Показов 9446. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как вывести в поток текущие дату и время?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.04.2011, 12:26
Ответы с готовыми решениями:

Вывести на экран текущие дату и время
Составить программу, которая выводит на экран текущие дату и время, а также имена всех файлов с расширением .exe, дату и время их создания.

Вывести на экран текущие дату и время
1. Напишите программу на языке ассемблера, которая: 1. выводит на экран (указать конкретное место, фон, цвет символов) текущую дату и...

Как изменить дату и время создания файла на текущие?
Как изменить дату и время создания файла на текущие? Пробовал соединить с нулевым, но как такой создать, использую только команды MS-DOS?...

19
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
13.04.2011, 13:28
записать, например с помощью fwrite() вестимо.
Или вопрос следует читать "как узнать текущее время"?
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
14.04.2011, 05:52  [ТС]
Я и как узнать не знаю, но требуется не загнать время в переменню, а слепить оболочечную функцию, чтоб выводить именно в поток так:
C++
1
s<<f();
, где s - поток, а f() - функция, причём, она должна быть перемнима и в такой строке:
C++
1
s<<f()<<": прога запущена."<<endl;
, в этом случае в поток кроме даты и времени должен выводиться текст, потом перевод строки. Причём, функция должна выводится и в cout, и в файловые потоки.
0
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
14.04.2011, 09:38
Оберните time() и например ctime() в функцию возвращающую char *.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
14.04.2011, 11:26  [ТС]
Не хотелось бы буфером маяться. После ввывода одного значения, буфер больше не нужен, но вызываться будет часто и разрастаться из-за этого. А поток вернуть можно? И как пользоваться fwrite() и time()?
0
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
14.04.2011, 14:42
вы хотя бы одним глазом в man ctime загляните
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
15.04.2011, 06:22  [ТС]
Bash
1
2
3
$ man ctime
Нет справочной страницы для ctime
$
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
15.04.2011, 09:04
Цитата Сообщение от taras atavin Посмотреть сообщение
Bash
1
2
3
$ man ctime
Нет справочной страницы для ctime
$
В гугл вбиваешь строку "man ctime" и на первых позициях будет то, что тебе нужно - и не русском, и на английском
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
18.04.2011, 06:03  [ТС]
Ну вот эта страница. Единственный вывод: функция ctime вообще не нужна. А как делать, вообще не понятно. Как получить
C++
1
2
3
4
5
6
7
8
9
10
11
struct tm {
        int     tm_sec;         /* секунды */
        int     tm_min;         /* минуты */
        int     tm_hour;        /* часы */
        int     tm_mday;        /* день месяца */
        int     tm_mon;         /* месяц */
        int     tm_year;        /* год */
        int     tm_wday;        /* день недели */
        int     tm_yday;        /* день года */
        int     tm_isdst;       /* летнее время */
};
?
0
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
18.04.2011, 08:44
Дамс, "чукча не читатель" явно про вас, в том же мане gmtime(), localtime(),...
0
 Аватар для kazak
3599 / 2741 / 354
Регистрация: 11.03.2009
Сообщений: 6,298
18.04.2011, 08:57
cplusplus.com/reference/clibrary/ctime/gmtime/
1
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
18.04.2011, 09:31  [ТС]
C++
1
2
3
4
5
6
 time_t rawtime;
 tm * ptm;
 time (&rawtime);
 ptm = gmtime (&rawtime);
 cout<<ptm->tm_year<<"//"<<ptm->tm_mon<<"//"<<ptm->tm_mday<<", "<<ptm->tm_hour<<":"<<ptm->tm_min<<":"<<ptm->tm_sec<<endl;
 delete ptm;
Bash
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
$ '/home/student/cspm/cspm' 
*** glibc detected *** /home/student/cspm/cspm: free(): invalid pointer: 0x00590660 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0x4b70d1]
/lib/tls/i686/cmov/libc.so.6[0x4b87d2]
/lib/tls/i686/cmov/libc.so.6(cfree+0x6d)[0x4bb8ad]
/usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0x1c86f1]
/home/student/cspm/cspm[0x8049062]
/home/student/cspm/cspm[0x8048c5f]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0x462b56]
/home/student/cspm/cspm[0x8048bc1]
======= Memory map: ========
00110000-001f6000 r-xp 00000000 fc:00 131822     /usr/lib/libstdc++.so.6.0.13
001f6000-001fa000 r--p 000e6000 fc:00 131822     /usr/lib/libstdc++.so.6.0.13
001fa000-001fb000 rw-p 000ea000 fc:00 131822     /usr/lib/libstdc++.so.6.0.13
001fb000-00202000 rw-p 00000000 00:00 0 
00202000-00206000 r-xp 00000000 fc:00 132812     /usr/lib/libXdmcp.so.6.0.0
00206000-00207000 rw-p 00003000 fc:00 132812     /usr/lib/libXdmcp.so.6.0.0
002a1000-002a3000 r-xp 00000000 fc:00 526797     /lib/tls/i686/cmov/libdl-2.10.1.so
002a3000-002a4000 r--p 00001000 fc:00 526797     /lib/tls/i686/cmov/libdl-2.10.1.so
002a4000-002a5000 rw-p 00002000 fc:00 526797     /lib/tls/i686/cmov/libdl-2.10.1.so
002ae000-002d2000 r-xp 00000000 fc:00 526798     /lib/tls/i686/cmov/libm-2.10.1.so
002d2000-002d3000 r--p 00023000 fc:00 526798     /lib/tls/i686/cmov/libm-2.10.1.so
002d3000-002d4000 rw-p 00024000 fc:00 526798     /lib/tls/i686/cmov/libm-2.10.1.so
003ba000-003bb000 r-xp 00000000 00:00 0          [vdso]
0042f000-0044a000 r-xp 00000000 fc:00 131729     /lib/ld-2.10.1.so
0044a000-0044b000 r--p 0001a000 fc:00 131729     /lib/ld-2.10.1.so
0044b000-0044c000 rw-p 0001b000 fc:00 131729     /lib/ld-2.10.1.so
0044c000-0058a000 r-xp 00000000 fc:00 526794     /lib/tls/i686/cmov/libc-2.10.1.so
0058a000-0058b000 ---p 0013e000 fc:00 526794     /lib/tls/i686/cmov/libc-2.10.1.so
0058b000-0058d000 r--p 0013e000 fc:00 526794     /lib/tls/i686/cmov/libc-2.10.1.so
0058d000-0058e000 rw-p 00140000 fc:00 526794     /lib/tls/i686/cmov/libc-2.10.1.so
0058e000-00591000 rw-p 00000000 00:00 0 
0072b000-00747000 r-xp 00000000 fc:00 131818     /lib/libgcc_s.so.1
00747000-00748000 r--p 0001b000 fc:00 131818     /lib/libgcc_s.so.1
00748000-00749000 rw-p 0001c000 fc:00 131818     /lib/libgcc_s.so.1
00767000-00769000 r-xp 00000000 fc:00 132806     /usr/lib/libXau.so.6.0.0
00769000-0076a000 r--p 00001000 fc:00 132806     /usr/lib/libXau.so.6.0.0
0076a000-0076b000 rw-p 00002000 fc:00 132806     /usr/lib/libXau.so.6.0.0
00858000-00874000 r-xp 00000000 fc:00 132819     /usr/lib/libxcb.so.1.1.0
00874000-00875000 r--p 0001c000 fc:00 132819     /usr/lib/libxcb.so.1.1.0
00875000-00876000 rw-p 0001d000 fc:00 132819     /usr/lib/libxcb.so.1.1.0
008fb000-00a25000 r-xp 00000000 fc:00 132826     /usr/lib/libX11.so.6.2.0
00a25000-00a26000 ---p 0012a000 fc:00 132826     /usr/lib/libX11.so.6.2.0
00a26000-00a27000 r--p 0012a000 fc:00 132826     /usr/lib/libX11.so.6.2.0
00a27000-00a29000 rw-p 0012b000 fc:00 132826     /usr/lib/libX11.so.6.2.0
00a29000-00a2a000 rw-p 00000000 00:00 0 
08048000-0804a000 r-xp 00000000 fc:00 1842339    /home/student/cspm/cspm
0804a000-0804b000 r--p 00001000 fc:00 1842339    /home/student/cspm/cspm
0804b000-0804c000 rw-p 00002000 fc:00 1842339    /home/student/cspm/cspm
09a01000-09a22000 rw-p 00000000 00:00 0          [heap]
b7600000-b7621000 rw-p 00000000 00:00 0 
b7621000-b7700000 ---p 00000000 00:00 0 
b779a000-b779d000 rw-p 00000000 00:00 0 
b77b5000-b77b8000 rw-p 00000000 00:00 0 
bfef2000-bff07000 rw-p 00000000 00:00 0          [stack]
Aborted
$
что не так?

Добавлено через 10 минут
С возваратом потока я кажется перемудрил. А как вернуть строку? В исходнике есть дирректива
C++
1
#include <string.h>
. Какой строчный класс она подключает, как его зовут, какое у него междухарие?
0
 Аватар для kazak
3599 / 2741 / 354
Регистрация: 11.03.2009
Сообщений: 6,298
18.04.2011, 09:35
Так как под ptm память не выделялась, delete вроде как неуместен.

Добавлено через 1 минуту
string.h сишная библиотека.
1
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
18.04.2011, 09:38  [ТС]
А со строками поможите? Пока я слепил такую фигню:
C++
1
2
3
4
5
6
7
8
void     MyNow           (                               )
{
 time_t rawtime;
 tm * ptm;
 time (&rawtime);
 ptm = gmtime (&rawtime);
 cout<<(1900+ptm->tm_year)<<"/"<<(1+ptm->tm_mon)<<"/"<<ptm->tm_mday<<", "<<ptm->tm_hour<<":"<<ptm->tm_min<<":"<<ptm->tm_sec;
}
. Но это не то. Помогите строку вернуть, только не зетттерминальную, а объктную.

Добавлено через 35 секунд
Цитата Сообщение от kazak Посмотреть сообщение
string.h сишная библиотека.
А плюсовую как зовут?
0
 Аватар для kazak
3599 / 2741 / 354
Регистрация: 11.03.2009
Сообщений: 6,298
18.04.2011, 14:03
У меня так получилось
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
29
30
31
32
#include <iostream>
#include <sstream>
#include <string>
#include <ctime>
 
using namespace std;
string MyNow()
{
   time_t rawtime;
   tm * ptm;
   string strTime;
   stringstream out;
 
 
   time (&rawtime);
   ptm = gmtime (&rawtime);
   out<<(1900+ptm->tm_year)<<"/"
       <<(1+ptm->tm_mon)<<"/"
       <<ptm->tm_mday<<", "
       <<ptm->tm_hour<<":"
       <<ptm->tm_min<<":"
       <<ptm->tm_sec;
   getline(out, strTime);
   return strTime;
}
 
int main(int argc, char* argv[])
{
   cout << MyNow() << endl;
   system("pause");
   return 0;
}
1
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
19.04.2011, 07:40  [ТС]
Через вспомогательный поток?

Добавлено через 1 час 35 минут
Почему то с часми на компе у этой функции 7 часов разницы. С чём это может быть связано?
0
 Аватар для kazak
3599 / 2741 / 354
Регистрация: 11.03.2009
Сообщений: 6,298
19.04.2011, 11:38
Цитата Сообщение от taras atavin Посмотреть сообщение
Через вспомогательный поток?
С преобразованием чисел в строку лень было возиться.

Цитата Сообщение от taras atavin Посмотреть сообщение
Почему то с часми на компе у этой функции 7 часов разницы. С чём это может быть связано?
Странно у меня разница в 12 часов, тобишь утро с вечером путает, хотя вчера, когда тестировал, все нормально было.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
19.04.2011, 11:48  [ТС]
У вас какой часовой пояс?

Добавлено через 2 минуты
Сейчас функция выглядит так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
string   MyNow           (                               )
{
 char Vavilon[62][3]={"00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61"};
 time_t rawtime;
 tm * ptm;
 string strTime;
 stringstream out; 
 time (&rawtime);
 ptm = gmtime (&rawtime);
 out<<(1900+ptm->tm_year)<<"/"<<(Vavilon[1+ptm->tm_mon])<<"/"<<Vavilon[ptm->tm_mday]<<", "<<Vavilon[ptm->tm_hour]<<":"<<Vavilon[ptm->tm_min]<<":"<<Vavilon[ptm->tm_sec];
 getline(out, strTime);
 return strTime;
}
Добавлено через 2 минуты
Прога вывела
2011/04/19, 07:44:28:
. На самом деле 2011/04/19, 14:44:28.

Добавлено через 2 минуты
У меня время новосибирское.
0
 Аватар для kazak
3599 / 2741 / 354
Регистрация: 11.03.2009
Сообщений: 6,298
19.04.2011, 11:52
Цитата Сообщение от taras atavin Посмотреть сообщение
У вас какой часовой пояс?
Хм... +12
Лучше localtime применять.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
19.04.2011, 13:11  [ТС]
Походу он берёт время Гринвича, меня это вполне устраивает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.04.2011, 13:11
Помогаю со студенческими работами здесь

Выввести текущие время и дату
Помогите пожалуйста. Необходимо выводить время и дату текущую на экран, но при нажатии клавиши + например необходимо увеличивать скорость...

Сохранить в БД текущие дату и время
Всем привет. Как сохранить в БД текущую дату со временем? Пробовал так:$r_date = time();, но потом, когда из БД беру...

Вставить в таблицу текущие дату и время
Я совсем новичок в MySQL, так что не ругайтесь сильно) Проблема у меня такая: Нужно в таблицу вставлять данные, среди которых есть и поле...

Установить текущие время и дату в паскале
помогите мне пожалуйста написать программу на паскале....... вот условие установить текущую время и дату в паскале.... ...

DateTimePicker не меняет текущие дату и время на нужные
CodeBlocks, C++, Win32 API. Для создания resource.rc использую ResEdit. В диалоге имею DateTimePicker1 и DateTimePicker2. Хотелось бы в...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
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