Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ASP.NET Новый топик    Ответить
 Отображать дату в американском формате.  [new]
AlexDP
RSDN Member

Откуда: RSDN.RU
Сообщений: N/A
Мне нужно отображать дату в американском формате, т.е. типа 26.10.2006 — во
всем приложении.

Сейчас у меня в датагриде отображается табличка, у которой дадасорс —
результат запроса из базы.

Шаманство с глобализейшн не помогло.

<system.web>

<globalization culture="en-US" uiCulture="en-US" />



Куда копать?
Posted via RSDN NNTP Server 2.0


Данное сообщение получено с RSDN.RU
26 окт 06, 20:56    [3317504]     Ответить | Цитировать Сообщить модератору
 Отображать дату в американском формате.  [new]
vinipuh@list.ru
GDN Member

Откуда: GotDotNet.Ru
Сообщений: N/A
<%# DataBinder.Eval(Container.DataItem, "Date", "{0:mm_dd_yyyy}") %>

на счет строки форматирования(mm_dd_yyyy)
не уверен

Данное сообщение получено с GotDotNet.Ru
26 окт 06, 21:06    [3317521]     Ответить | Цитировать Сообщить модератору
 Re: Отображать дату в американском формате.  [new]
pecha
Member

Откуда:
Сообщений: 842
"{0:mm.dd.yyyy}") вот так точнее :)

-----
http://www.godevs.com/?isc=forums - Affordable Domain Names, Windows/Linux Web Hosting (ASP.NET 1.1/2.0 available) and much more!
26 окт 06, 21:46    [3317603]     Ответить | Цитировать Сообщить модератору
 Re: Отображать дату в американском формате.  [new]
AlLucky
RSDN Member

Откуда: RSDN.RU
Сообщений: N/A
Здравствуйте, AlexDP, Вы писали:

ADP>Мне нужно отображать дату в американском формате, т.е. типа 26.10.2006 — во

ADP>всем приложении.

ADP>Сейчас у меня в датагриде отображается табличка, у которой дадасорс —

ADP>результат запроса из базы.

ADP>Шаманство с глобализейшн не помогло.


ADP><system.web>


ADP><globalization culture="en-US" uiCulture="en-US" />




ADP>Куда копать?


В начале запроса выставлять Thread.CurrentCulture, Thread.CurrentUICulture и форматирование вывода делать в соответствии с культурой (а то вдруг у Вас просто при выводе стоит какая-нить CultureInfo.InvariantCulture)?
... << RSDN@Home 1.2.0 alpha rev. 648>>


Данное сообщение получено с RSDN.RU
26 окт 06, 21:46    [3317610]     Ответить | Цитировать Сообщить модератору
 Re: Отображать дату в американском формате.  [new]
Gollum
RSDN Member

Откуда: RSDN.RU
Сообщений: N/A
Здравствуйте, AlexDP, Вы писали:

ADP>Мне нужно отображать дату в американском формате, т.е. типа 26.10.2006 — во

ADP>всем приложении.

Американский формат — это месяц/день/год, т.е. 10/26/2006

ADP>Шаманство с глобализейшн не помогло.


А шаманство вообще редко помогает. Надо смотреть, что конкретно не получается. Для культуры en-US формат даты указан выше.
... << RSDN@Home 1.2.0 alpha rev. 0>>


Данное сообщение получено с RSDN.RU
27 окт 06, 11:40    [3319458]     Ответить | Цитировать Сообщить модератору
 Re: Отображать дату в американском формате.  [new]
Smorn
GDN Member

Откуда: GotDotNet.Ru
Сообщений: N/A
Если нужно просто DateTime привести к формату US, то это так:
CultureInfo c = new CultureInfo("en-US");
DateTimeFormatInfo d = c.DateTimeFormat;
string datе = DateTime.Now.ToString(d);



,что даст "10/27/2006 1:09:38 PM"

Данное сообщение получено с GotDotNet.Ru
27 окт 06, 13:10    [3320427]     Ответить | Цитировать Сообщить модератору
 Re: Отображать дату в американском формате.  [new]
mogadanez
RSDN Member

Откуда: RSDN.RU
Сообщений: N/A
Здравствуйте, AlexDP, Вы писали:

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


public string[] UserLanguages()
    {
    return HttpContext.Current.Request.UserLanguages != null && HttpContext.Current.Request.UserLanguages.Length > 0 
                ? (string[])algorithms.map( HttpContext.Current.Request.UserLanguages, new mapper( fix_lang ), typeof(string) )
                : new string[] { "en-us" };
    }

private object fix_lang ( object o )
    {
    return o.ToString().Replace( "_""-" );
    }


а в самом интерфейсе получать для вывода дату используя примерно такой метод:

public static string            get_localized_string( DateTime time )
    {
    CultureInfo culture = localization_common.context_culture;
    return time.ToString( culture.DateTimeFormat.ShortTimePattern, culture );
    }
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>


Данное сообщение получено с RSDN.RU
27 окт 06, 13:49    [3320751]     Ответить | Цитировать Сообщить модератору
 Re: Отображать дату в американском формате.  [new]
AlexDP
RSDN Member

Откуда: RSDN.RU
Сообщений: N/A
"AlexDP" <49225@users.rsdn.ru> сообщил/сообщила в новостях следующее:
news:2184701@news.rsdn.ru...
> Мне нужно отображать дату в американском формате, т.е. типа 26.10.2006 —
> во
> всем приложении.
>
> Сейчас у меня в датагриде отображается табличка, у которой дадасорс -
> результат запроса из базы.
>
> Шаманство с глобализейшн не помогло.
>
> <system.web>
>
> <globalization culture="en-US" uiCulture="en-US" />
>
>
>
> Куда копать?

В общем оказалось, что шаманство помогло, только после изменений работате
через раз, видать каждый раз нужно было рестартить сервер.
Posted via RSDN NNTP Server 2.0


Данное сообщение получено с RSDN.RU
27 окт 06, 18:15    [3323133]     Ответить | Цитировать Сообщить модератору
Все форумы / ASP.NET Ответить