PDA

View Full Version : تبدیل رشته ی تاریخ



shahinparsa1328
سه شنبه 02 آبان 1391, 17:16 عصر
با سلام


من می خواهم زمانیکه تاریخ را به صورت 1391/1/1 می نویسم در خروجی به صورت 1391/01/01 نمایش دهد.
که من ابتدا آمدم تاریخ را در یک textbox وارد کردم و بعد با دستور split آن را در listbox از هم جدا کردم.
حالا من می داننم که باید دستوری نوشت که ستون دوم و سوم listbox را برسی کند که اگر کمتر از 2 کاراکتر بود یک 0 به ابتدای آن اضافه کند. در مورد اتصال دوباره باید از Join استفاده کرد. اما نمی دانم چگونه می شود این عمل را انجام داد.
درضمن اگر می شود اطفا دستور join هم را برسی کنید چون خطا می دهد.


private void button16_Click(object sender, EventArgs e)
{
char[] spector = { '/' };
string str = textBox15.Text;
string[] arr = str.Split(spector);
listBox1.Items.AddRange (arr);

}

private void button17_Click(object sender, EventArgs e)
{

string[] arr = new string

[listBox1.Items.Count];
for (int i = 0; i < listBox1.Items.Count; i++)
{
arr[i] = listBox1.Items[i].ToString();
}
string str = string.Join ("/", listBox1.Items.Count);
textBox16.Text = str;

hakim22
سه شنبه 02 آبان 1391, 19:25 عصر
از آرگومانهای
ToString استفاده کنید برنامه ی شما در یک خط حل میشه
اگر اشتباه نکنم به صورت :


Tostring("yyyy/mm/dd");


باید باشه.
بهتره به راهنمای VS بروید و گزینه ی
String Formatting رو جستجو کنید تا صدها مثال در موردش پیدا کنید .

matin.soft
سه شنبه 02 آبان 1391, 22:13 عصر
دوست عزیز از این اکتیو ایکس استفاده فرمایید:
http://s3.picofile.com/file/7535974080/PersianDate.rar.html
تاریخ رو به همون شکل دلخواه بهتون می ده.
هنگام استفاده مستقیم تاریخ رو به همراه زمان بهتون می ده که برای حذف زمان می توانید از کد زیر استفاده نمایید.
persianDt.value.tostring.remove(10,9);

danialafshari
چهارشنبه 03 آبان 1391, 03:06 صبح
سلام دوست عزیز
همیشه پیشگیری بهتر از درمان است ! به نظر من اگر هنگام ورود اطلاعات با یک MaskedTextBox این کارو انجام بدید خیلی بهتره و نیازی به کد نویسی هم نداره !
این روشیه که خودم در برنامه هام استفاده می کنم و توسط کلاس persian calender هم تاریخ وارد شده رو کنترل می کنم
موفق باشی