| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Преобразование дат |
| Автор: Serebah 9.2.2011, 16:07 |
| Даты хранится в виде "января 2011, февраля 2011, марта 2011 и т.д." Как ее можно преобразовать в 01.01.2011, 01.02.2011, 01.03.2011 и т.д. |
| Автор: CROTishka 9.2.2011, 16:31 |
| где они хранятся? скуль, или просто текст? если просто текст, то в DateUtils нет ничего похожего, придётся самому разбирать. и вообще, в чём проблема? это же всего пара строк! |
| Автор: Serebah 9.2.2011, 16:43 |
| Даты хранятся в виде текста. То что писать нужно функцию самому, это я знаю. Только еще я новичек в программировании и сам не могу разобраться. Может подскажите в общих чертах хоть? |
| Автор: Данкинг 9.2.2011, 16:47 | ||
|
| Автор: Serebah 9.2.2011, 16:56 |
| Спасибо большое. А если года у меня могут быть разные как это отобразить? |
| Автор: CROTishka 9.2.2011, 16:57 | ||
| не, я нагнал. в DateUtils действительно нет ничего подобного. но в SysUtils есть StrToDateTime и FormatDateTime это то, что вас интересует. Добавлено через 53 секунды
не слушайте его. пишите нормальный код. |
| Автор: Serebah 9.2.2011, 17:04 |
| SysUtils не подходят. FormatDateTime форматирует в январь, февраль и т.п. А у меня января , февраля и т.п. |
| Автор: Данкинг 9.2.2011, 18:18 |
| CROTishka, чем тебе моя эксклюзивная функция не нравится? |
| Автор: Frees 9.2.2011, 18:20 | ||
есть ограничения, региональные стандарты должны быть русские.. |
| Автор: Serebah 9.2.2011, 18:25 |
| Данкинг, Я хочу сделать по эксклюзивной функции. Только если у месяцов год разный, то как его тоже менять? |
| Автор: kami 9.2.2011, 20:30 | ||
Вариант "в лоб". Строка должна быть вида "<месяца> 2010". Ведущие пробелы, заглавные буквы, любые символы после "2010" не допускаются, ибо в приведенном варианте год высчитывается как "всё, что после пробела". Как решить - оставляю Вам в качестве домашнего задания. Подсказка №1 - функция AnsiLowerCase.
Добавлено через 3 минуты и 33 секунды Лень править (кодировка не совпала), в массиве Months лежат 'января','февраля','марта'... |
| Автор: superVad 10.2.2011, 00:13 |
| kami, когда копируешь переключись в винде на русскую раскладку. |
| Автор: Poseidon 10.2.2011, 09:13 | ||||
Ну, добавлю и я свои 5 копеек.
и таких 12 строк. |
| Автор: kami 10.2.2011, 13:27 | ||
не помогает :( Поясните. Где я не прав?
В условии задачи строка нестандартного вида. Не всегда бывает как лучше, иногда случается "должно быть так". |
| Автор: Frees 10.2.2011, 13:39 | ||
она и так стандартного вида VarToDateTime замечательно ее понимает. при вставке тоже на русский переключай |
| Автор: Serebah 10.2.2011, 16:40 |
| А какой uses использует Replace String? Добавлено через 11 минут и 45 секунд kami, Спасибо большое, Ваша функция работает просто отлично |