none
CultureInfo tr-TR RRS feed

  • Soru

  • Öncelikle direk sorunumu sizlere anlatayım aşağıda görüldüğü gibi kendi kültür ayarlarımın olduğu bir sınıf ayarlıcaktım 
    ama kültür ayarlarının DateTimeFormat.DateSeparator = "-"; kısımını değiştirmeme rağmen bunu çıktı veya debug ettiğim halde hala değiştirilmemiş olarak görüyorum şimdiden yardımlarınız için teşekkürler.

    internal abstract class CultureSetting
        {
            private System.Globalization.CultureInfo _Kultur = null;
            private String _KulturAdi = null;


            protected System.Globalization.CultureInfo GetKultur
            {
                get
                {
                    return _Kultur;
                }
            }


            protected CultureSetting(String GelenKulturAdi)
            {
                _KulturAdi = GelenKulturAdi;
                _Kultur = new System.Globalization.CultureInfo(_KulturAdi,false);
            }

            public abstract System.Globalization.CultureInfo GetCulture();
        }

     internal class MyCulture: CultureSetting
        {
            public TurnikeCulture(string GelenKultur)
                :base(GelenKultur)
            {
                base.GetKultur.DateTimeFormat.DateSeparator = "-";
                
            }


            public override CultureInfo  GetCulture(){

                return this.GetKultur;
                
            }
        }

            private void Index_Load(object sender, EventArgs e)
            {

                MyCulture kulturayarlari = new MyCulture("tr-TR");
                Application.CurrentCulture = kulturayarlari.GetCulture();
                Thread.CurrentThread.CurrentUICulture = kulturayarlari.GetCulture();
                System.Threading.Thread.CurrentThread.CurrentUICulture = kulturayarlari.GetCulture();


                MessageBox.Show(System.Threading.Thread.CurrentThread.CurrentCulture.Name + " " +  System.Threading.Thread.CurrentThread.CurrentUICulture.Name + " " + DateTime.Now.ToShortDateString());

        }

    Çıktı : tr-TR tr-TR 23.02.2018

    Resim linkini yükleyemiyorum hesabım onaylanmadığı için. 

    23 Şubat 2018 Cuma 10:41

Yanıtlar

  • İlgili biiçmleride ayarlamanız gerekir. Örneği inceleyin :

    var ci = new System.Globalization.CultureInfo("tr-tr", false);
    
     
    ci.DateTimeFormat.ShortDatePattern = "dd-MM-yyyy";
    ci.DateTimeFormat.ShortTimePattern = "hh:mm:ss";
    
    ci.DateTimeFormat.LongDatePattern = "dd-MMM-yyyy";
    
    // üsteki ikisinin birleşimi General Long DateTime değerini yani "G" değerini oluşturur
    
    Thread.CurrentThread.CurrentCulture = ci;
    Thread.CurrentThread.CurrentUICulture = ci;
    
    Console.WriteLine(DateTime.Now.ToString());
    Console.WriteLine(DateTime.Now.ToLongDateString());


    www.cihanyakar.com

    • Yanıt Olarak İşaretleyen YusufASLAN 23 Şubat 2018 Cuma 12:24
    23 Şubat 2018 Cuma 11:37
  •         internal abstract class CultureSetting
            {
                private CultureInfo _Kultur = null;
                private String _KulturAdi = null;
    
                protected CultureInfo GetKultur
                {
                    get
                    {
                        return _Kultur;
                    }
                }
    
                protected CultureSetting(String GelenKulturAdi)
                {
                    _KulturAdi = GelenKulturAdi;
                    _Kultur = new CultureInfo(_KulturAdi, false);
                }
    
                public abstract CultureInfo GetCulture();
            }
    
            internal class MyCulture : CultureSetting
            {
                public MyCulture(string GelenKultur) : base(GelenKultur)
                {
                    GetKultur.DateTimeFormat.DateSeparator = "-";
                    GetKultur.DateTimeFormat.ShortDatePattern = "dd-MM-yyyy";
                }
    
                public override CultureInfo GetCulture()
                {
                    return GetKultur;
                }
            }
    
            private void Index_Load(object sender, EventArgs e)
            {
                MyCulture kulturayarlari = new MyCulture("tr-TR");
                Application.CurrentCulture = kulturayarlari.GetCulture();
                Thread.CurrentThread.CurrentUICulture = kulturayarlari.GetCulture();
                MessageBox.Show(Application.CurrentCulture.Name + " " + Thread.CurrentThread.CurrentUICulture.Name + " " + DateTime.Now.ToShortDateString());
            }
    


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak İşaretleyen YusufASLAN 23 Şubat 2018 Cuma 12:24
    23 Şubat 2018 Cuma 11:56

Tüm Yanıtlar

  • İlgili biiçmleride ayarlamanız gerekir. Örneği inceleyin :

    var ci = new System.Globalization.CultureInfo("tr-tr", false);
    
     
    ci.DateTimeFormat.ShortDatePattern = "dd-MM-yyyy";
    ci.DateTimeFormat.ShortTimePattern = "hh:mm:ss";
    
    ci.DateTimeFormat.LongDatePattern = "dd-MMM-yyyy";
    
    // üsteki ikisinin birleşimi General Long DateTime değerini yani "G" değerini oluşturur
    
    Thread.CurrentThread.CurrentCulture = ci;
    Thread.CurrentThread.CurrentUICulture = ci;
    
    Console.WriteLine(DateTime.Now.ToString());
    Console.WriteLine(DateTime.Now.ToLongDateString());


    www.cihanyakar.com

    • Yanıt Olarak İşaretleyen YusufASLAN 23 Şubat 2018 Cuma 12:24
    23 Şubat 2018 Cuma 11:37
  •         internal abstract class CultureSetting
            {
                private CultureInfo _Kultur = null;
                private String _KulturAdi = null;
    
                protected CultureInfo GetKultur
                {
                    get
                    {
                        return _Kultur;
                    }
                }
    
                protected CultureSetting(String GelenKulturAdi)
                {
                    _KulturAdi = GelenKulturAdi;
                    _Kultur = new CultureInfo(_KulturAdi, false);
                }
    
                public abstract CultureInfo GetCulture();
            }
    
            internal class MyCulture : CultureSetting
            {
                public MyCulture(string GelenKultur) : base(GelenKultur)
                {
                    GetKultur.DateTimeFormat.DateSeparator = "-";
                    GetKultur.DateTimeFormat.ShortDatePattern = "dd-MM-yyyy";
                }
    
                public override CultureInfo GetCulture()
                {
                    return GetKultur;
                }
            }
    
            private void Index_Load(object sender, EventArgs e)
            {
                MyCulture kulturayarlari = new MyCulture("tr-TR");
                Application.CurrentCulture = kulturayarlari.GetCulture();
                Thread.CurrentThread.CurrentUICulture = kulturayarlari.GetCulture();
                MessageBox.Show(Application.CurrentCulture.Name + " " + Thread.CurrentThread.CurrentUICulture.Name + " " + DateTime.Now.ToShortDateString());
            }
    


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak İşaretleyen YusufASLAN 23 Şubat 2018 Cuma 12:24
    23 Şubat 2018 Cuma 11:56