Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
php_vasia
4 / 4 / 0
Регистрация: 14.10.2010
Сообщений: 210
#1

Перевести месяц в число

01.03.2012, 09:21. Просмотров 1046. Ответов 5
Метки нет (Все метки)

есть дата в таком формате 01.Mar.12
Как можно проще привести к стандартному виду(01.03.12)?
Т.е заменить Mar на 03

Добавлено через 5 минут
for и в нем StringReplace как-то не хорошо О_о, может у кого есть решение лучше?

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2012, 09:21
Ответы с готовыми решениями:

Дан файл, содержащий различные даты. Каждая дата - это число, месяц и год. Найти
Дан файл, содержащий различные даты. Каждая дата - это число, месяц и год....

Перевести строку в число
В чистом c++ есть ф-ция stoi, переводящая string в int, а в билдере есть atoi,...

перевести число из Int
Конвертирую значение из поля Edit в Int. А можно как нибудь потом переменную...

Перевести арабское число в римское и наоборот.
Нам по курсовой задали написать компоненту перевода арабского числа в римское и...

Перевести целое число из десятичной системы счисления в двоичную
16. Перевести целое число из десятичной системы счисления в двоичную,...

5
Sasha
4919 / 2384 / 529
Регистрация: 05.06.2008
Сообщений: 7,466
Записей в блоге: 3
01.03.2012, 10:18 #2
А зачем там for?
0
php_vasia
4 / 4 / 0
Регистрация: 14.10.2010
Сообщений: 210
01.03.2012, 11:05  [ТС] #3
создал массив месяцев
Пробегаю по нему если текущий равен исходному то меняю (ну и break можно вставить)

Либо как вариант 12 StringReplace на каждый месяц
0
__bool
285 / 226 / 27
Регистрация: 13.06.2010
Сообщений: 744
01.03.2012, 15:32 #4
По идее вот нормальное(без лишних телодвижений) решение:
C++
1
2
3
4
5
6
TFormatSettings Format;
Format.DateSeparator = '.';
Format.ShortDateFormat = "dd.mmm.yy";
String sDate = "01.Mar.12";
TDate date = StrToDate(sDate, Format);
ShowMessage(FormatDateTime("dd.mmm.yy",date));
Раньше так делал работало.. а тут ошибку выдает.. в чем то ошибся видимо.

Добавлено через 2 минуты
А если в указанном выше формате показать дату, то выводит:
C++
1
ShowMessage(FormatDateTime("dd.mmm.yy",Now()));
В чем же ошибка..
0
nick42
Практикантроп
4237 / 2270 / 383
Регистрация: 23.09.2011
Сообщений: 4,853
01.03.2012, 17:51 #5
- компилятор обижается на это__
StrToDate(sDate
, ведь месяц, вероятно, ожидается как "мар", а не "Mar". Я было пытался LANG_ENGLISH подставлять в каких-то local..., но бесполезно. Пытался подставлять
ShortMonthNames[2] = "Mar";
... выводить выводит, а из строки дату - только в установленном в Винде формате.

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

Функция StrToDate() принимает в качестве аргумента строковое значение и преобразует его в дату. Эта функция не настолько полезна, как может показаться из ее названия, так как разделитель частей даты должен совпадать со значением переменной DateSeparator. В противном случае будет сгенерировано исключение. StrToDate() принимает значения вида "8/27", полагая, что отсутствующее значение года означает текущий год. Функция также принимает двухзначные значения года, но может преобразовать их не так, как вы ожидаете, если вы не установили корректно переменную TwoDigitYearCenturyWindow.
0
__bool
285 / 226 / 27
Регистрация: 13.06.2010
Сообщений: 744
01.03.2012, 20:02 #6
Так и я тоже удивляюсь, ведь
Цитата Сообщение от __bool Посмотреть сообщение
ShowMessage(FormatDateTime("dd.mmm.yy",Now()));
Выводит "01.Mar.12"
0
01.03.2012, 20:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2012, 20:02

Округлить число до двух цифр после запятой, и потом перевести его в ansistring
как округлить число до двух цыфр после запятой, и потом перевести это в...

DataTimePicker предыдущий месяц
Еще один легкий вопрос. Есть два DataTimePicker'a. Начальная дата и...

Сменный График работы на месяц
Всем Здравствуйте! Столкнулся с нестандартной задачей. Необходимо сделать...


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

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

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