2015-01-30 17 views
5

Ho un sistema R2 di Windows Server 2008 che è configurato con le impostazioni internazionali di default (senza le sostituzioni sul formato o nulla) ed è impostato su en-US.DateTime formattazione non corrisponde alla cultura

Quando ho interrogare il seguente: System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat

Si elencando il DateSeparator come - (trattino) al posto di un / (barra) . Quindi DateTime.Now.ToString() sarà simile a:

01-30-2015.

Inoltre, il CurrentThread.CurrentCulture.ToString() = "it-IT"

Io sono completamente ad una perdita quanto a come questo è ancora possibile, ma ancora più importante, vorrei sapere se. NET ha qualche tipo di override locale che è configurabile in qualche modo?

Il sistema Regione & Impostazioni lingua sono normale e non sono state modificate. Qualsiasi aiuto sarebbe molto apprezzato, grazie.

ecco il codice per le informazioni diagnostiche. Viene eseguito in asp.net su una pagina di aspx.

Current Date Time: <%= DateTime.Now.ToString() %> 
Current Short Date: <%= DateTime.Now.ToShortDateString() %> 
Current Culture: <%= System.Threading.Thread.CurrentThread.CurrentCulture.ToString() %> 
Current UI Culture: <%= System.Threading.Thread.CurrentUICulture.ToString() %> 

DateTimeFormatInfo invariant = CultureInfo.InvariantCulture.DateTimeForamat; 
DateTimeFormatInfo uiThread = System.Threading.Thread.CurrentThread.CurrentUICulture.DateTimeFormat; 
DateTimeFormatInfo thread = System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat; 

Type type = System.Threading.Thread.CurrentThread.CurrentUICulture.DateTimeFormat.GetType(); 
foreach(var prop in type.GetProperties()) { 
    <%= prop.Name %> 
    <%= prop.GetValue(invariant, null) %> <br/> 
    <%= prop.GetValue(uiThread, null) %> <br/> 
    <%= prop.GetValue(thread, null) %> <br/> 
} 

Regione & Impostazioni lingua Region and Language Settings

Ecco alcune informazioni aggiuntive Diagnostic Information about DateTimeFormat

+0

Prova CurrentUICulture invece di CurrentCulture –

+0

CurrentUICulture sta riportando la stessa cosa. – Colemangrill

+6

Quindi presumibilmente puoi vederlo solo in una piccola app per console? Una demo sarebbe davvero utile, giusto per assicurarci che stiamo pensando tutti alle stesse cose. –

risposta

1

Ogni utente dispone di profilo regione diversa. L'account e l'applicazione correnti potrebbero non utilizzare lo stesso account per cui viene visualizzato il valore diverso.

andare su Impostazioni Regione finestre -> Amministrazione -> Fare clic su Copia impostazioni e spuntare tutte (i conti schermata di benvenuto e di sistema + nuovi account utente) casella di controllo fare clic su OK. Vedi se risolve il tuo problema. Se la tua app è Web Application devi creare un'altra AppPool per vederla interessata.

Problemi correlati