IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Peter Janičina:21.10.2019 9:24

Ahojte,
prosim o radu ako sa formatuje DateTime?
Skusal som
[DisplayFormat(Da­taFormatString = "{0:dd.MM.yyyy. HH:mm}")]
[DataType(Data­Type.DateTime)]
public DateTime MojDatum{ get; set; }
@Html.Raw(str­.MojDatum) //ten mi zobrazuje spravne v dobrom formate
ale ked pouzijem asp-route-mojdatum="@str­.MojDatum" tak mi to uz nefunguje a prida mi %20 a vymeni den s mesiacom priklad &mojdatum=27.%208­.%202018%207%3A00%3A00&
napise ze je zly format datumu, mal by byt 27.8.2018 7:00:00

Zkusil jsem: Skusal som nastavit
RequestLocali­zationOptions localizationOptions = new RequestLocali­zationOptions
{
SupportedCultures = new List<CultureInfo> { new CultureInfo("sk-SK") },
SupportedUICultures = new List<CultureInfo> { new CultureInfo("sk-SK") },
DefaultReques­tCulture = new RequestCulture("sk-SK")
};
app.UseReques­tLocalization(lo­calizationOpti­ons);
Webbrowser mam nastaveni na slovencinu aj regional settings vo Win10

Chci docílit: Potrebujem zobrazit datum tak aby mi nepoprehadzoval po presmerovani stranky mesiac a den, ale aby zostal format dd.MM.yyyy

Dakujem

 
Odpovědět
21.10.2019 9:24
Avatar
Peter Janičina:21.10.2019 15:20

Neviem, ale cely den som stravil hladanim po forach, nakoniec som zistil ze sa to da aj takto http://coremvc.com.br/…do-core-mcv/
@Html.TextBox­For(modelItem => item.DataCadastro, “{0:dd-MM-yyyy}”)
cez @Html.Display­For(modelItem => item.DataCadastro, “{0:dd-MM-yyyy}”) to nefunguje
Cudne je ze som nasiel ze to robia cez stringy a regularne vyrazy. To nazoaj nic normalne v CORE neexistuje ako riesit format datumu???

 
Nahoru Odpovědět
21.10.2019 15:20
Avatar
Jaroslav Smrž
Tvůrce
Avatar
Odpovídá na Peter Janičina
Jaroslav Smrž:21.10.2019 23:48

Existuje, ale záleží na konkrétním užití. Třeba jestli to chceš v evropském formátu ukládat už do DB nebo to mít uložené mm.dd.yyyy a pak jen přehodit měsíce a dny na výstupu?

Nahoru Odpovědět
21.10.2019 23:48
/* Life runs on code */
Avatar
Peter Janičina:22.10.2019 9:02

Ano chcel by som to zobrazovat aj ukladat vo formate dd.MM.yyyy HH:mm:ss, nacitanie z DB nie je problem to zobrazuje dobre, akurat ked to pouzijem ako asp-route-datum pri presmerovani tak to zmeni a zacne to zobrazovat MM.dd.yyyy HH:mm:ss

 
Nahoru Odpovědět
22.10.2019 9:02
Avatar
Odpovídá na Peter Janičina
Peter Janičina:31.10.2019 14:39

<input asp-for="KonPlan" type="datetime-local" class="form-control" value="@Model­.KonPlan.ToStrin­g("yyyy-MM-ddTHH:mm")"/> ked som ymenil type a format na yyy-MM-ddTHH:mm tak to zacalo fungovat. otazka je ci sa to takto musi pouzivat a ci to nejde nejako elegantnejsie.

 
Nahoru Odpovědět
31.10.2019 14:39
Avatar
Odpovídá na Jaroslav Smrž
Jan Jurníček:14.4.2021 12:21

Dobrý den, pokusil jsem se editovat svůj příspěvek a nějak se mi stalo, že jej tam mám dvakrát. Prosím o smazání toho prvního, kratšího, kde nepíšu, že jsem měl podobný problém.

 
Nahoru Odpovědět
14.4.2021 12:21
Avatar
Jan Jurníček:14.4.2021 12:25

Měl jsem podobný problém, potřebuju to pro odeslání filtračních podmínek na Index. Formulář s metodou Get, tedy dotazovací řetězec, a byl bych rád, kdyby nebyl zbytečné dlouhý.

Dělám to tak, že nastavím DataAnnotation atributy ve viewmodelu. Například model filtru pro index, obsahující vlastnosti DatumOdMin, DatumOdMax typu Date a UpdateDtMin, UpdateDtMax typu DateTime:

[Display(Name = "Datum zahájení - maximum")]
[DataType(DataType.Date)]
public DateTime? DatumOdMax { get; set; }

[Display(Name = "Uloženo - minimum")]
[DataType(DataType.DateTime)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-ddThh:mm}")]
public DateTime? UpdateDtMin { get; set; }

[Display(Name = "Uloženo - maximum")]
[DataType(DataType.DateTime)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-ddThh:mm}")]
public DateTime? UpdateDtMax { get; set; }

A ve view použiju rozšiřující metodu ze statické třídy HtmlHelperEdi­torExtensions

public static IHtmlContent EditorFor<TModel, TResult>(this IHtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TResult>> expression, string templateName, string htmlFieldName);

Respektive ji používám ve své službě, která navíc překládá jména vlastností na klíče dotazovacího řetězce, a ty dodám do htmlFieldName, zatímco templateName může být null.

 
Nahoru Odpovědět
14.4.2021 12:25
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.