تبدیل تاریخ میلادی به شمسی فقط با این قالب برای مثال: 1387019

hamid_kha

عضو جدید
سلام دوستان عزیز
من دنبال dllای می گردم که تاریخ میلادی رو به شمسی تبدیل کن (در asp.net 2.0 و C#)وقالب آن به صورت
برای مثال:
13870109 باشه منون میشم کسی کمکم کنه.
فقط با قالب 13870109
 

www.bitasoft.ir

عضو جدید
مشکل در تقویم فارسی asp.net

مشکل در تقویم فارسی asp.net

سلام دوستان عزیز
من دنبال dllای می گردم که تاریخ میلادی رو به شمسی تبدیل کن (در asp.net 2.0 و C#)وقالب آن به صورت
برای مثال:
13870109 باشه منون میشم کسی کمکم کنه.
فقط با قالب 13870109

سلام
شما می تونین ابتدا System.globalization رو ایمپروت یا using کنین.
بعد با متد persiancalender میتونین به این خواسته تون برسین.

امید است به کار آید.
 

safapoor

عضو جدید
البته با این کار 0 که در ماه ها و روز هاست با این فرم 13870902 ذخیره نمیشه
خودت باید چک کنی اگه از 10کمتره به متنت یه 0 اضافه کنی.
اگه مشکلت حل نشد,کدش رو برات بزارم.
 

arman_k77

عضو جدید
using System.Globalization;

public string PersionDate()
{
try
{

PersianCalendar jc = new PersianCalendar();
DateTime thisDate = DateTime.Now;
string day;
string month;
string year;
string newdate = "";
day = jc.GetDayOfMonth(thisDate).ToString();
month = jc.GetMonth(thisDate).ToString();
year = jc.GetYear(thisDate).ToString();
if (int.Parse(day) < 10)
{
day = "0" + day;
}
if (int.Parse(month) < 10)
{
month = "0" + month;
}
newdate = year + "/" + month + "/" + day;

return newdate;
}
catch (Exception)
{

}
return "";
}

اگه خواستین میتونین علامت "/" رو حذف کنین به همون فرمتی که مد نظر شما هستش تبدیل بشه
 

arman_k77

عضو جدید
دانشجوي كامپيوتر;1393758]اين كد آخري كه برام نوشتيد من اواو در كجا بنويسم?
من تابع رو یه کم عوض کردم
فرض کنیم شما تصمیم دارید وقتی فرم load شد تاریخ جاری سیستم را به شمسی نشان بدهید.
داخل form_load این کد را اضافه میکینم

textBox1.Text=PersionDate(DateTime.Now);

حالا این تابع بعد از load شدن صفحه تاریخ جاری سیستم را دریافت میکند و تاریخ شمسی برمیگرداند


public string PersionDate(DateTime mytime)
{
try
{

PersianCalendar jc = new PersianCalendar();
//DateTime thisDate = DateTime.Now;
thisDate =mytime;
string day;
string month;
string year;
string newdate = "";
day = jc.GetDayOfMonth(thisDate).ToString();
month = jc.GetMonth(thisDate).ToString();
year = jc.GetYear(thisDate).ToString();
if (int.Parse(day) < 10)
{
day = "0" + day;
}
if (int.Parse(month) < 10)
{
month = "0" + month;
}
newdate = year + "" + month + "" + day;

return newdate;
}
catch (Exception)
{

}
return "";
}
 

nowar1352

عضو جدید
Imports Microsoft.VisualBasic
Imports System.Globalization
Public Class UDate
'
' Convert Date Shamsi To Miladi
' Example : ShamsiToMiladi(1387, 2, 16)
'
Public Function ShamsiToMiladi(ByVal year As Integer, ByVal month _
As Integer, ByVal day As Integer) As Date
Dim a As New System.Globalization.PersianCalendar
Return a.ToDateTime(year, month, day, 0, 0, 0, 0)
End Function
'<<
' Convert Date Miladi To Shamsi
' Example : MiladiToShamsi()
'
Public Function MiladiToShamsi() As Date
Return Convert.ToDateTime(Year_MiladiToShamsi() + "/" + Month_MiladiToShamsi() + "/" + Day_MiladiToShamsi())
End Function
Public Function Year_MiladiToShamsi() As String
Dim DateNow As New PersianCalendar
Return DateNow.GetYear(Date.Now)
End Function
Public Function Month_MiladiToShamsi() As String
Dim DateNow As New PersianCalendar
Dim m As Integer
'----
m = DateNow.GetMonth(Date.Now)
If m < 10 Then
Return "0" + m.ToString
Else
Return m.ToString
End If
End Function
Public Function Day_MiladiToShamsi() As String
Dim DateNow As New PersianCalendar
Dim m As Integer
'----
m = DateNow.GetDayOfMonth(Date.Now)
If m < 10 Then
Return "0" + m.ToString
Else
Return m.ToString
End If
End Function

End
Class
از اين كلاس را ميتوني استفاده كني
 

Similar threads

بالا