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

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

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

Работа с датами - C++

27.10.2013, 00:48. Просмотров 408. Ответов 2
Метки нет (Все метки)

Для заданной даты определить число дней, прошедших с начала года. Для заданных двух дат – число дней между ними. Предоставить возможность обработки даты как минимум в пяти различных форматах. Например: 10-Sep-2013; 10/09/13; September 10, 2013; 10/9/2013; 10 September.

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

Работа с датами в БД - C++
Помогите пожалуйста сделать Zapros5: сколько и какие мастера работают в мастерской; #include <iostream> #include <locale.h> ...

Работа со временем и датами - C++
Интересует алгоритм определения дней недели, по количеству секунд с начала периода. Смотрел Boost, но там такого метода в классах не нашел.

Работа с датами используя структуры - C++
Разработать программу для работы с датами, используя понятие структуры. Предусмотреть:  возможность хранения дня, месяца и года; ...

интервал между датами - C++
Подскажите как написать программу для нахождения интервала в днях между двумя заданными датами. Пробовала брать нулевой год, и просчитывать...

Арифметические действия с датами - C++
Вообщем есть у меня программа которая точно высчитывает разницу дней между нынешней датой, и будущей. Например с 06/26/2016 ( сегодня )...

Интервал между датами в структуре! - C++
#include<iostream.h> #include<math.h> #include<conio.h> struct time { int day; int month; int year; }; const int...

2
gazlan
3133 / 1909 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
27.10.2013, 02:06 #2
В идеале - лексический анализатор + простенькая грамматика для автоопределения формата.

Но, поскольку формат примитивен, а число вариантов невелико, возможно, проще (если не умеете писать парсеры) будет использовать токенайзер для разбиения строки на три части (delimiters: space/slash/hyphen/comma). Каждый из токенов сравниваете с набором строк Jan..Dec / January..December. Если это не название месяца, значит, число, в него и конвертируете.

По положению токена "название месяца" и/или типу разделителя, выбираете формат (что есть день, что есть месяц, что есть год). Убедитесь, что все форматы задания даты однозначно различимы.

Сама калькуляция проще всего выполняется переводом дат в юлианские и обратно, в грегорианскую.
1
MrGluck
Модератор
Эксперт CЭксперт С++
7498 / 4614 / 694
Регистрация: 29.11.2010
Сообщений: 12,633
27.10.2013, 02:21 #3
http://www.boost.org/doc/libs/1_53_0/doc/html/date_time.html
Там и куча вариантов создания даты и число дней с начала года и разницу в датах определить легко
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2013, 02:21
Привет! Вот еще темы с ответами:

Определение разницы между датами в днях - C++
Всем привет! :) Задача в том что есть две даты ( день, месяц, год ) нужно определить разницу дв днях между ними)

Число дней недели между датами - C++
Добрый вечер. Есть две даты:начальная и конечная. И есть номер дня недели:1-воскрксенье, 2-понедельник...,7-суббота. Помогите написать...

Подсчитать разницу в днях между 2 датами - C++
Здравствуйте, нужно подсчитать сколько дней между определенными датами(1 января 2001 и 31 декабря 2020) У меня есть код: #include...

Количество дней между двумя датами - C++
Хочу спросить кто знает как найти количество дней между двумя датами. ПРИМЕР input output 01.01.93 1 02.01.93 ...


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

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

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