Софтуерно Инженерство
Loading...
simeon_petrov avatar simeon_petrov 45 Точки

[Homework] C# Basics Тема: C# Advanced Topics парсване на дати

В първата задача от домашното имаме да намерим разликата в дни между две дати.

Като парсвах датите забелязах следното нещо: На единия ми компютър всичко се парсна без проблеми от формата 17.03.2014, да де ама на другия не ще. Там трябва да е във формат MM/dd/yyyy.

Та въпросът ми е, от кои точно настройки на компютъра зависи какъв ще е форматът и как да накарам компилатора да приеме форматът, който на мен ми е най-удобен в случая dd.MM.yyyy.

Гледах, че има разни разширени настройки на Parse и ParseExact и пробвах разни комбинации от рода на

CultureInfo provider = CultureInfo.InvariantCulture;

Пробвах с DateTime start = DateTime.Parse(startStr, provider, DateTimeStyles.AllowWhiteSpaces);

Ама нещо не става, не разбирам, какво точно трябва да се даде като параметри?

Стана по този начин:

DateTime end = DateTime.ParseExact(endStr,"dd.MM.yyyy",provider);

Проблемът тук е, че ако е 05.12.2014 го  приема, но ако е 5.12.2014 гърми. Та как да го реша този проблем с дни и месеци от една цифра?

Тагове:
2
Programming Basics
quickben avatar quickben 974 Точки

Правиш един масив със всички най-използвани формати за дати, въртиш го в един for цикъл и проверяваш с try parse и/или try parse exact, не се сещам точно коя команда е, отдавна правих продобна програма която да приема повечето валидни дати и това измислих на времето :)

Нещо подобно ----> http://pastebin.com/52xvesqj

1
09/10/2015 20:01:10