2010-07-27 5 views
1

J'ai un datagrid qui peuplé par certaines données de sqlserver.J'ai déposé datetime qui représentent la date géorgienne, mais je veux convertir cela en persan en utilisant PersianCalendar. Je voulais une sorte de conversion, qui obtient la date géorgienne à partir de la base de données, mais quand il s'agit de montrer sur datagrid ou d'autre part, il montre la date persane.réécrivant la date persane dans au lieu de la normale format de date

+1

Voulez-vous dire grégorien au lieu de géorgien? –

+0

je veux dire quelque chose comme 2007/05/02 –

+0

@JonSkeet: Je pensais aussi qu'il est appelé "Geogorian", dérivé de la Géorgie ou quelque chose. Bonne prise! – Isaac

Répondre

0

Pour le formatage, vous devez utiliser la classe CultureInfo appropriée, pas le calendrier - les noms des cultures perses sont fa ou fa-IR, comme on peut le voir here.

CultureInfo farsi = new CultureInfo("fa-IR"); 
farsi.DateTimeFormat.Calendar = new PersianCalendar(); 
DateTime date1 = new DateTime(1867, 1, 1); 

Console.WriteLine(date1.ToString(farsi)); 

Mise à jour:

Vous pouvez utiliser l'événement ItemDataBound de la grille afin de formater la date exactement comme vous le souhaitez.

+0

comment puis-je utiliser cela dans la vue DataGrid ou d'autres endroits dans asp.net? –

+0

@persian Dev - Vous devez définir la culture de fil de l'application (thread UI si une application winforms), à la culture persane. http://msdn.microsoft.com/en-us/library/bz9tc508.aspx – Oded

+0

merci mon cher Oded –