Esiste un modo per utilizzare il metodo DateTime.ToString() per visualizzare il meridiem della porzione del tempo come "A.M." invece di "AM"? Ho provato ad usare la maschera "t.t." ma questo mostra solo "A.A."DateTime.ToString() visualizza meridiem come "A.M." o "P.M."
risposta
è possibile ridefinire i AMDesignator
e PMDesignator
proprietà di CultureInfo.DateTimeFormat
, e quindi specificare la cultura come un provider di formato:
using System;
using System.Globalization;
class Program {
public static void Main() {
CultureInfo c = (CultureInfo)CultureInfo.CurrentCulture.Clone();
c.DateTimeFormat.AMDesignator = "A.M.";
c.DateTimeFormat.PMDesignator = "P.M.";
Console.WriteLine(DateTime.Now.ToString("tt",c));
}
}
Bella soluzione generale. Questo si presta meglio all'internazionalizzazione. – ladenedge
Mi rendo conto che questo è un po 'morto, ma questo problema è saltato fuori di nuovo per me l'altro giorno e mi piace molto questa soluzione. Ho appena fatto una breve domanda, se dovessi cambiare i designatori AM e PM per la cultura corrente (invece di creare una copia e usare la copia) cambierebbe questa impostazione per tutte le richieste fino a quando il mio server non verrà riavviato o solo per il richiesta corrente? – Kyle
@Kyle, non posso testarlo adesso, ma penso che non puoi cambiare quelle proprietà per la cultura attuale senza clonare ... provalo e fammi sapere :) –
Uso "t.\\M"
:
DateTime time = DateTime.Now;
string s = time.ToString("yyyy.MM.dd hh:mm:ss t.\\M.");
Console.WriteLine(s);
uscita:
2010.02.02 09:26:14 A.M.
Spiegazione: t
dà il primo carattere della AM/PM designatore (il designatore localizzato possono essere recuperate in DateTimeFormatInfo.AMDesignator
e DateTimeFormatInfo.PMDesignator
). Lo \\M
scappa lo M
in modo che non lo interpreti come parte della stringa di formato e stampi il valore numerico del mese.
Nota che, una volta fatto, sei esplicitamente insensibile alla cultura. Ad esempio, in Giappone, il designatore AM/PM differisce nel secondo carattere, non nel primo.
- 1. Parse timestamp con a.m./p.m
- 2. DateTime.ToString() C# non funziona come previsto
- 3. Perché DateTime.ToString ("h") causa un'eccezione?
- 4. Visualizza autorizzata o Configura vista come autorizzata?
- 5. Output of times (AM/PM) modificato in Windows 10 quando si utilizza DateTime.ToString ("tt")
- 6. moment.js - visualizza data O ora
- 7. Elenco Visualizza nascondi o comprimi gruppo selezionato
- 8. Visualizza cercapersone come lista Visualizza riga articolo
- 9. Visualizza PDF in Fancybox o altro lightbox
- 10. android visualizza padding o margini predefiniti
- 11. ios accedi alla finestra principale o visualizza
- 12. tmux in stucco visualizza il bordo come 'qqqqq' o 'xxxx'
- 13. "Visualizza come tipo MIME" in Chrome o Firefox
- 14. Does DateTime.ToString ("s") restituisce sempre lo stesso formato?
- 15. 58.85 visualizza come 58.84999999999
- 16. Come si visualizza la differenza tra O (log n) e O (n log n)?
- 17. Il modo migliore per convertire il tempo militare in ora standard in javascript
- 18. Getting 'DateTime.ToString()' per emettere la stessa stringa come serializzazione XML di un 'DateTime'
- 19. Visualizza immagini o immagini all'interno di Jquery DataTable
- 20. Visualizza intestazione o colonna personalizzata in Esplora risorse
- 21. Visualizza rapidamente un data.frame, vettoriale o data.table in Excel
- 22. La parola con cordoncino avvolge o visualizza l'intero testo
- 23. Oggetto modello DTO o Dominio nel livello Visualizza?
- 24. Visualizza l'asse y come percentuale?
- 25. Visualizza contenuto del database in memoria H2 o HSQLDB
- 26. Architettura framework di gioco: visualizza componenti o MVC?
- 27. Come convertire Android Visualizza in PDF
- 28. Visualizza etichetta optgroup come opzione iniziale
- 29. disparità tra calcoli di data/ora in C# rispetto a Delphi
- 30. MySql visualizza le prestazioni
Credo che questo è un esempio quasi perfetto di quando di modificare le specifiche per adeguarsi alle capacità delle la piattaforma piuttosto che aggirare l'implementazione della piattaforma per adattarla a una specifica. – tvanfosson