MD.PersianDateTime icon indicating copy to clipboard operation
MD.PersianDateTime copied to clipboard

تبدیل تاریخ به میلادی و برعکس Need Help

Open Arsalan0098 opened this issue 3 years ago • 6 comments

سلام من میخواستم تاریخ رو از تکس باکس بخونه و به میلادی تبدیل کنم و در دیتابیس ذخیره کنم و بعد هم دوباره بتونم تاریخ میلادی رو از دیتابیس بخونم و به تکست باکس انتقال بدم از کد var persianDateTime6 = PersianDateTime.Parse("1393/02/01"); باید تاریخ رو بخونم ولی توی توضیحات در مورد تبدیل چیزی پیدا نکردم، میشه راهنمایی کنید؟ ممنون

Arsalan0098 avatar Jan 22 '22 07:01 Arsalan0098

سلام خوب این کتابخانه کارش همینه فایل readme را بخوانید

Mds92 avatar Jan 22 '22 07:01 Mds92

اول که کلا قفل کردم انقدر سریع جواب دادید مرسی من این روش رو برای تبدیل شمسی به میلادی پیدا کردم

var persianDateTime6 = PersianDateTime.Parse(Txtdate.Text);
            DateTime dateTime6 = persianDateTime6;
            MessageBox.Show(dateTime6.ToString("yyyy-MM-dd HH:mm:ss"));
string miladidatetime = dateTime6.ToString("yyyy-MM-dd HH:mm:ss");

ولی برای برعکسش چیزی پیدا نکردم الان بخوام miladidatetime رو به شمسی برگردونم چیزی توی ریدمی پیدا نکردم که البته احتمالاً به دلیل اطلاعات کم منه.

ممنون میشم اگه امکانش هست این رو هم راهنمایی کنید. تشکر

Arsalan0098 avatar Jan 22 '22 08:01 Arsalan0098

سلام دوباره خوب چه زبانی دارید کار میکنید؟ بنظرم C# هست؟

Mds92 avatar Jan 22 '22 08:01 Mds92

بله C# WPF است یه سوال دیگه هم داشتم عزیز که البته شاید ساده یا احمقانه باشه ولی خب چون تازه وارد هستم زیاد بلد نیستم مجبورم بپرسم، پیشاپیش اگه سوال پیش پا افتاده است ببخشید. من نرم افزاری که دارم درست میکنم با WPF C# است. بانک اطلاعاتیم هم بنا به یه سری دلایل MySQL است و با کلی بدبختی تونستم وصل شم بهش (چون بلد نبودم زیاد) حالا مشکلی که دارم اینه یه سری DataGrid دارم و توی یکی از قسمت هاش تاریخ نشون داده میشه و این تاریخ ها از دیتابیس خونده میشه

using (MySqlCommand cmd2 = new MySqlCommand("SELECT * FROM water_counter_usages where unit_id = " + UNITID + "  AND deleted_at IS NULL", conn))
                    {
                        MySqlDataAdapter adp = new MySqlDataAdapter(cmd2);
                        DataSet ds = new DataSet();
                        adp.Fill(ds, "LoadDataBinding");
                        WaterContorGrids.DataContext = ds;
                        //MySqlDataReader rdr = cmd2.ExecuteReader();

                    }

اطلاعات رو اینجوری میگیرم و با این کد به گرید ویو نشونش میدم ItemsSource="{Binding LoadDataBinding}" حالا اون Column که توش تاریخه رو اینجوری فارسی میکنم <DataGridTextColumn Binding="{Binding read_date, StringFormat=yyyy/MM/dd, ConverterCulture=fa-IR}" Header="تاریخ " Width="100" IsReadOnly="True" /> میخواستم بدونم شما برای این هم یه چیزی دارید که تاریخ درست فارسی شه؟ بعضی وقتا یک روز عقب جلو میشه. راهی دارید که اینجا هم بتونم استفاده کنم؟

Arsalan0098 avatar Jan 22 '22 08:01 Arsalan0098

ببخشید من به اشتباه فکر کردم این ریپوزیتوری دیت پیکر هست این کتابخانه برای تبدیل تقویم میلادی به شمسی و برعکس هست اینکه میگید تو readme چیزی برای تبدیل پیدا نکردید تعجب میکنم !!! همین تکه کدی که خودتان نوشتید تبدیل شمسی به میلادی هست

var persianDateTime6 = PersianDateTime.Parse(Txtdate.Text); // شمسی
DateTime dateTime6 = persianDateTime6; // میلادی

برای تبدیل میلادی به شمسی

var persianDateTime = new PersianDateTime(DateTime.Now);

Mds92 avatar Jan 22 '22 08:01 Mds92

آقا دمت گرم

من این رو تست کردم جواب داد، جسارت نباشه نگفتم که توی ریدمی نیست، گفتم من اطلاعاتم کمه متوجه نشدم کدومش هست.

بازم ممنونم

Arsalan0098 avatar Jan 22 '22 09:01 Arsalan0098