Snažím sa získať aktuálny štvrťrokaktuálny dátum a uložiť ho ako int ako prvý, potom, keď dostanem aktuálny štvrťrok, ako povedzme, že je Q1, potom chcem uložiť Q1 ako reťazec. Zobrazuje sa mi táto chyba: nepriradená lokálna premenná dt. , Prosím pomôžte. Vďaka
DateTime dt;
int quarterNumber = (dt.Month - 1) / 3 + 1;
odpovede:
20 pre odpoveď č. 1No nikde neurčujete aktuálny dátum - ste svojmu zariadeniu nepriradili žiadnu hodnotu dt
premenná, na ktorú si kompilátor sťažuje. Môžete použiť:
DateTime dt = DateTime.Today;
Upozorňujeme, že sa tým použije miestne časové pásmo systému - a dátum závisí od časového pásma. Ak chcete napríklad dátum aktuálneho okamihu v UTC, mali by ste:
DateTime dt = DateTime.UtcNow.Date;
Veľmi starostlivo premýšľajte o tom, čo znamená „dnes“.
O niečo jednoduchšia alternatívna verzia vášho výpočtu by tiež bola:
int quarter = (month + 2) / 3;
1 pre odpoveď č. 2
Bol to dobrý začiatok, skončil som pomocou tohto riadku. Zjednodušenejšie, pokiaľ ide o cieľ, namiesto pridania 2.
Math.Ceiling(DateTime.Today.Month / 3m)
0 pre odpoveď č. 3
dt je momentálne priradený null. Musíte ho inicializovať pomocou DateTime dt = DateTime.Now;
0 pre odpoveď č. 4
Inicializuje sa s hodnotou default(DateTime)
ktorý má hodnotu 1/1/0001 12:00:00 AM