[ 01011011 @ 10.10.2008. 13:23 ] @
Znaci imam datum koji radi perfektno sa engleskim, ali imam problem sa drugim jezicima. Ovako ovaj code radi...

Code:
using System;
using System.Globalization;

namespace ConsoleApplication2 {
    public class Program {
        public static void Main(string[] args) {

            DateTime date1 = new DateTime(2008, 3, 1, 7, 0, 0);
            string dates = date1.ToString("dddd, MMM-dd", new CultureInfo("en-US"));
            Console.WriteLine(dates);
            //ispisuje Saturday, Mar-01
            DateTime date2 = Convert.ToDateTime(dates, new CultureInfo("en-US"));
            Console.WriteLine(date2.ToString());
            //ipisuje 3/1/2008 12:00:00 AM
            Console.ReadLine();
        }
    }
}


i ispisuje ovo... znaci napravi datum u specificnom obliku, i onda uzmem taj datum iz String promenjive i napravim datetime.

Citat:
Saturday, Mar-01
3/1/2008 12:00:00 AM



E sada kada promjenim na neki drugi jezik, recimo italijanski, ne radi....



Code:
using System;
using System.Globalization;

namespace ConsoleApplication2 {
    public class Program {
        public static void Main(string[] args) {

            DateTime date1 = new DateTime(2008, 3, 1, 7, 0, 0);
            string dates = date1.ToString("dddd, MMM-dd", new CultureInfo("it-IT"));
            Console.WriteLine(dates);
            // Ovo radi u redu ispise: sabato, mar-01
            DateTime date2 = Convert.ToDateTime(dates, new CultureInfo("it-IT"));
            Console.WriteLine(date2.ToString());
            //ne moze da uradi ovu konverziju/pravi 
            Console.ReadLine();
        }
    }
}


Ovo je error kad proba da napravi od string promenjive datetime:


Pomoc dobrodosla :)
[ Igor Gajic @ 10.10.2008. 14:00 ] @


To samo znaci da je u Italiji zapis datuma drugaciji nego u Americi...

Npr. kod nas je DAN.MESEC.GODINA.

Dok je kod Amerikanaca MESEC/DAN/GODINA

pa kad prosledis datum tipa 23.3.2008. u program koji
koristi americka podesavanja on puca jer ne prepoznaje format zapisa, tj.
misli da hoces 23 mesec !
[ 01011011 @ 10.10.2008. 14:10 ] @
Cekaj kako da nadjem formatiranje za italijanski, poljski, ruski, francuski i spanski... ti jezici mi trebaju
[ mmix @ 10.10.2008. 14:41 ] @
fora je u tome sto koristis custom date format, "us" parser je uspeo da se izbori sa njim, ali ne postoji garancija da to radi i za ostale kulture, sto si i sam uvideo.
Convert.ToDateTime koristi DateTime.Parse() koji po nepisanom pravilu prepoznaje samo stringove generisane uz pomoc standardnih date formata (onih jednoslovnih). Ako hoces da parsiras string u custom formatu moras da koristis DateTime.ParseExact kojem mozes da predocis format:

Code:
            DateTime date1 = new DateTime(2008, 3, 1, 7, 0, 0);
            string dates = date1.ToString("dddd, MMM-dd", new CultureInfo("it-IT"));
            Console.WriteLine(dates);
            DateTime date2 = DateTime.ParseExact(dates, "dddd, MMM-dd", new CultureInfo("it-IT"));
            Console.WriteLine(date2.ToString());
            Console.ReadLine();


sabato, mar-01
3/1/2008 12:00:00 AM
[ 01011011 @ 10.10.2008. 15:03 ] @
Svaka cast mmix :) To je ono sto mi je trebalo. U medjuvremenu sam promjenio aplikaciju da saljem prilikom klika na dugme commandName kao datum, tako da sam to koristio, umjesto globalizovanog datuma.

Ali ovo je dobro :) Hvala