imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 17.11.2004, 20:12     # 1
aramis
Junior Member
 
Регистрация: 31.10.2002
Сообщения: 150

aramis Путь к славе только начался
DateTime in c#

я тут в одном месте заколбасился и немогу найти ошибку
вот кусок кода(примерно)
в настройках системы стоит английский/сша

CultureInfo german=CultureInfo.CreateSpecificCulture("de-DE");
date=Convert.ToDateTime("17.11.2004",german);
x=date.ToShortDateString();


почему переменная х равна 11/17/2004, а не 17.11.2004?
aramis вне форума  
Старый 17.11.2004, 22:11     # 2
joker99
Full Member
 
Аватар для joker99
 
Регистрация: 19.07.2003
Адрес: Israel
Сообщения: 924

joker99 Популярный человек на этом форумеjoker99 Популярный человек на этом форумеjoker99 Популярный человек на этом форумеjoker99 Популярный человек на этом форумеjoker99 Популярный человек на этом форумеjoker99 Популярный человек на этом форумеjoker99 Популярный человек на этом форуме
потому что в date информация о культуре не хранится. то есть Convert использовал её для парсинга, но сам date об этом не знает. Это просто DateTime. Для учёта культурты надо использовать date.ToString(format,culInfo) или просто date.ToString(culInfo).

А зачем переводит стринг в дату а потом назад в стринг?
__________________
Столько дел, что и работой занятся некогда...
joker99 вне форума  
Старый 18.11.2004, 03:44     # 3
aramis
Junior Member
 
Регистрация: 31.10.2002
Сообщения: 150

aramis Путь к славе только начался
Цитата:
Сообщение от joker99
потому что в date информация о культуре не хранится. то есть Convert использовал её для парсинга, но сам date об этом не знает. Это просто DateTime. Для учёта культурты надо использовать date.ToString(format,culInfo) или просто date.ToString(culInfo).

А зачем переводит стринг в дату а потом назад в стринг?
я так и думал. просто мне нужно только число, а оно "безкультурное". но проблему я уже довольно просто решил

private string ConGer(DateTime dt)
{
return dt.Day.ToString().PadLeft(2,'0')+"."+dt.Month.ToString().PadLeft(2,'0' )+"."+dt.Year.ToString();
}

П.С. число я беру из xml, обрабатываю и пишу обратно, просто код сократил
aramis вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 03:28.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.