Sto lavorando alla localizzazione di un sito Web in francese. Tuttavia non dovrei cambiare il formato della data in francese. Deve rimanere nel formato en-us anche se la cultura è impostata su fr-ca i.e, quando il resto dei contenuti è in francese, il formato della data dovrebbe essere ancora in inglese (en-us).Cambiare il formato della data in en-us mentre la cultura è fr-ca
risposta
Sorprendentemente ho avuto una risposta molto semplice. Durante l'impostazione di Cultura e UICulture, tutto ciò che devo fare è impostare la Proprietà della Cultura per sempre. Questo risulterà nel mostrare sempre il formato della data in inglese.
sulla corda, quando si visualizza la data, effettuare le seguenti operazioni:
CultureInfo ci = new CultureInfo("en-US");
string s = dateTimeObject.ToString(ci);
Questo è un esempio semplificato tuttavia, è solo bisogno di fare il lavoro necessario che si vuole fare sull'oggetto DateTime
.
Per modificare la modalità di formattazione delle date è possibile create a custom CultureInfo, in base a un CultureInfo esistente (nel tuo caso "fr-CA"), modificando solo i formati di data. Non ho alcuna esperienza in questo, ma l'aricle collegato e this article spiega come è fatto. Presumibilmente, non è troppo difficile.
Immagino che l'impostazione di System.Threading.Thread.CurrentThread.CurrentCulture
in un'istanza del tuo CultureInfo personalizzato (ad esempio nell'evento PageLoad) debba svolgere il lavoro.
Oppure, utilizzare la classe CultureInfo per specificare la cultura su una base per-stringa:
CultureInfo culture = new CultureInfo("en-US");
Ogni volta che si scrive una data alla pagina, utilizzare la seguente sintassi:
myDate.ToString("d", culture);
o
string.Format(
culture,
"This is a string containing a date: {0:d}",
myDate);
Th La classe e CultureInfo
risiede nello spazio dei nomi System.Globalization
e d
in quanto sopra è il formato in cui viene stampata la data. See John Sheehan's ".NET Format String Quick Reference" cheat sheet per ulteriori informazioni sulle stringhe di formato.
Grazie Ragazzi !!!! Sembra che i tuoi suggerimenti funzionino per me. Ho provato a creare una cultura personalizzata che estende le funzionalità di fr-ca e cambia il formato della data in en-us. Ecco il codice
CultureInfo ci = new CultureInfo("fr-ca");
DateTimeFormatInfo dateformat = new DateTimeFormatInfo();
dateformat.FullDateTimePattern = "dddd, mmmm dd, yyyy h:mm:ss tt";// Date format of en-us
ci.DateTimeFormat = dateformat;
CultureAndRegionInfoBuilder obj = new CultureAndRegionInfoBuilder("fr-ca", CultureAndRegionModifiers.Replacement);
obj.LoadDataFromCultureInfo(ci);
obj.Register();
Una volta che il codice registra nuova FR-ca, il formato della data del fr-ca sarà uguale a quello della it-it. Il codice può essere utilizzato in Page_Load.
Ecco il codice di cui sopra nel pezzo di codice presentato:
CultureInfo ci = new CultureInfo("fr-ca");
DateTimeFormatInfo dateformat = new DateTimeFormatInfo();
dateformat.FullDateTimePattern = "dddd, mmmm dd, yyyy h:mm:ss tt";// Date format of en-us
ci.DateTimeFormat = dateformat;
CultureAndRegionInfoBuilder obj = new CultureAndRegionInfoBuilder("fr-ca", CultureAndRegionModifiers.Replacement);
obj.LoadDataFromCultureInfo(ci);
obj.Register();
Nel mio caso è quello che ho fatto. Ho dovuto impostare la lingua dell'app, determinare anche se la lingua è da destra a sinistra, ma anche necessario per mantenere il formato datetime standard. Così è stato quello che ho fatto:
string culture = "ar-SA";
//Set language and culture to Arabic
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(culture);
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(culture);
//But independent of language, keep datetime format same
DateTimeFormatInfo englishDateTimeFormat = new CultureInfo("en-CA").DateTimeFormat;
Thread.CurrentThread.CurrentCulture.DateTimeFormat = englishDateTimeFormat;
- 1. Cambiare formato della data in R
- 2. Come cambiare il formato della data nel selettore data
- 3. Come cambiare il formato della data utilizzando matplotlib in python
- 4. Cambiare il formato della data in "% d /% m /% Y"
- 5. ElasticSearch Spring Data Il formato della data è sempre lungo
- 6. Come cambiare il formato della data (MM/DD/YY) a (AAAA-MM-DD) in selezione data
- 7. come cambiare il formato della data predefinito durante la creazione tabella in MySQL
- 8. Convalida il formato della data in php
- 9. Come specificare il formato della data per l'associazione del modello?
- 10. sas7bdat formato della data formato della data R
- 11. Associazione modello ASP.Net MVC - come modificare il formato della data?
- 12. Come impostare la colonna di ordinamento predefinita nella griglia extjs4 e cambiare il formato della data?
- 13. cultura Tooltip è sbagliato
- 14. DateTime.Parse formato della data
- 15. Cambia il formato della data laravel 5
- 16. Inserimento della data nel formato d/mm in TextBox
- 17. come convertire il formato della data in Android
- 18. Come verificare il formato della data della stringa in PHP?
- 19. Come modificare il formato della data nell'alveare?
- 20. convertire il formato della data JSON
- 21. IOS come impostare il formato della data
- 22. Formato data Java in formato data JavaScript
- 23. Cambiare la data predefinita e il formato dell'ora in Rails 4
- 24. Come convertire la data in formato word?
- 25. json formato della data in primavera-boot
- 26. Javascript formato della data metodo
- 27. Qual è la cultura invariabile?
- 28. MVC3 modo corretto per cambiare la cultura per ogni richiesta
- 29. Modifica il formato della data della stringa e impostato in TextView in Android?
- 30. DateTime.Parse: eccezione durante la modifica della cultura
Se lo faccio in questo modo dovrò cambiare il codice ovunque. Non può essere fatto a livello globale? –
@Nadeem: è possibile creare il proprio CultureInfo. Vedi la mia risposta aggiornata. – bernhof