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

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

Войти
Регистрация
Восстановить пароль
 
Саааа
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 13
#1

Перевести дату - C++

05.12.2012, 16:37. Просмотров 407. Ответов 2
Метки нет (Все метки)

Перевести дату из символьного формата во внутреннее представление.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2012, 16:37     Перевести дату
Посмотрите здесь:

C++ Перевести номер дня в году в дату и месяц
C++ Преобразовать дату
C++ конвертирование из строки в дату C++
C++ Перевести текущую дату в определенный формат
C++ Определить дату
C++ Превратить дату в минуты
Перевод строки в дату C++
Перевести "дату" в число C++
Дату в число long C++
C++ Разбить дату на 3 переменные
Получить текущую дату C++
Менять дату в time_t C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт CЭксперт С++
6658 / 3849 / 509
Регистрация: 29.11.2010
Сообщений: 10,190
06.12.2012, 04:17     Перевести дату #2
Здесь конвертирует в int и проверяет, правильно ли задана строка
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
#include <iostream>
#include <cstdlib>
#include <string>
 
bool correct(const std::string &str)
{
    if (str.size() != 8)
        return false; // incorrect form
    std::size_t firstColon = str.find(':');
    std::size_t secondColon = str.rfind(':'); // searches from end to begin
    if (firstColon != 2 || secondColon != 5)
        return false; // incorrect positions of colon(s)
    std::string HH = str.substr(0, 2);
    std::string MM = str.substr(3, 2);
    std::string SS = str.substr(6, 2);
    // atoi convert to int
    int H = std::atoi(HH.c_str());
    int M = std::atoi(MM.c_str());
    int S = std::atoi(SS.c_str());
    // if all of these statements resturn true, function returns false
    return !(H < 0 || H > 24 || M < 0 || M > 60 || S < 0 || S > 60);
}
 
int main()
{
    std::string str;
    std::cout << "Enter time in format HH:MM:SS"<< std::endl;
    std::cin >> str;
    std::cout << (correct(str) ? "Correct" : "Incorrect");
    return 0;
}
activnaya
255 / 45 / 2
Регистрация: 24.11.2012
Сообщений: 466
06.12.2012, 04:40     Перевести дату #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <time.h>
#include <stdio.h>
 
int main()
{
    struct tm t;
    time_t t_of_day;
 
    t.tm_year = 2005-1900;
    t.tm_mon = 0;
    t.tm_mday = 3;
    t.tm_hour = 0;  /* Час, минута, секунда не имеют значения */
    t.tm_min = 0;   /* если только они не определяют переход  */
    t.tm_sec = 1;   /* на новую дату                          */
    t.tm_isdst = 0;
 
    t_of_day = mktime(&t);
    printf("%s\n", ctime(&t_of_day));
 
  return 0;
}
Yandex
Объявления
06.12.2012, 04:40     Перевести дату
Ответ Создать тему
Опции темы

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