powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DateTime и TimeSpan ToString
11 сообщений из 11, страница 1 из 1
DateTime и TimeSpan ToString
    #39705458
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую.
Кто знает почем настраиваемые строки форматов имеют разные форматы?
https://docs.microsoft.com/ru-ru/dotnet/standard/base-types/custom-date-and-time-format-strings
https://docs.microsoft.com/ru-ru/dotnet/standard/base-types/custom-timespan-format-strings
...
Рейтинг: 0 / 0
DateTime и TimeSpan ToString
    #39705473
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,

полагаю, потому что разный смысл у них совершенно, DateTime выражает момент во времени, а TimeSpan длительность, отрезок времени.
...
Рейтинг: 0 / 0
DateTime и TimeSpan ToString
    #39705504
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

По сути и там, и там Long =) фактически сравнить их можно, По уму, автору надо сделать IFormatProvider и использовать его для преобразования в нужный строковый формат. Но если это делается чисто для сравнения, это конечно неверный подход.
...
Рейтинг: 0 / 0
DateTime и TimeSpan ToString
    #39705506
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Я про то, что бы из первого получить время в строке, надо "hh:mm:ss", а у второго "hh\:mm\:ss".
Почему не унифицировали?
...
Рейтинг: 0 / 0
DateTime и TimeSpan ToString
    #39705536
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВhVostt,

Я про то, что бы из первого получить время в строке, надо "hh:mm:ss", а у второго "hh\:mm\:ss".
Почему не унифицировали?Вообще-то ты вполне можешь использовать "hh\:mm\:ss" в обоих случаях, и будет тебе счастье.
Но так-то ты действительно пытаешься сравнить паяльник с зеброй, неуместно
...
Рейтинг: 0 / 0
DateTime и TimeSpan ToString
    #39705539
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВЯ про то, что бы из первого получить время в строке, надо "hh:mm:ss", а у второго "hh\:mm\:ss".
Почему не унифицировали?

потому что в первом случае : это не символ ':', это подстановочный символ, который может быть подменён на другой в зависимости от настроек даты/времени текущей локали. а для TimeSpan по существу нет никаких настроек даты/времени, поэтому символ сам указываешь, какой надо. именно он и будет в строке.
...
Рейтинг: 0 / 0
DateTime и TimeSpan ToString
    #39705557
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttпотому что в первом случае : это не символ ':', это подстановочный символ, который может быть подменён на другой в зависимости от настроек даты/времени текущей локали. а для TimeSpan по существу нет никаких настроек даты/времени, поэтому символ сам указываешь, какой надо. именно он и будет в строке.
Да, случай ':' особый для DateTime. Но все же, если посмотреть исходники

У DateTime :
Код: cs
1.
2.
3.
4.
5.
6.
7.
default:
                        // NOTENOTE : we can remove this rule if we enforce the enforced quote
                        // character rule.
                        // That is, if we ask everyone to use single quote or double quote to insert characters,
                        // then we can remove this default block.
                        result.Append(ch);
                        tokenLen = 1;
                        break;
У TimeSpan :
Код: cs
1.
default:
                        throw new FormatException(Environment.GetResourceString("Format_InvalidString"));

то возникает резонный вопрос - а не получится ли в будущем, что для любого "неособого" символа прийдется добавлять излишние символы в обоих случаях - '\' в случае TimeSpan и "single quote or double quote" в случае DateTime?
От мокрософтов всего можно ожидать :)
...
Рейтинг: 0 / 0
DateTime и TimeSpan ToString
    #39705608
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LR,

никто на это не пойдёт, сломается всё и у всех. может в след. версиях, и то наврядли. никто не запрещает написать свой форматтер, как указано выше, или использовать вообще свою шаблонизацию, как многие и делают, когда обычного формата не хватает.

посмотри, например, SmartFormat.NET
...
Рейтинг: 0 / 0
DateTime и TimeSpan ToString
    #39705841
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Да я просто неудачно попытался так пошутить)) На самом деле, очевидно же, что оптимальным бы было для TimeSpan сделать так же как у DateTime, т.е.
Код: c#
1.
2.
3.
4.
default:
                        result.Append(ch);
                        tokenLen = 1;
                        break;


и некая "унификация" и избавление от излишества спецсимвола '\'.
...
Рейтинг: 0 / 0
DateTime и TimeSpan ToString
    #39705880
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
LRи некая "унификация" и избавление от излишества спецсимвола '\'.
Если багу нельзя исправить, то она описывается как документированная особенность
...
Рейтинг: 0 / 0
DateTime и TimeSpan ToString
    #39705883
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Если багу нельзя исправить, то она описывается как документированная особенность
Ага, точно!)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DateTime и TimeSpan ToString
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]