PDA

View Full Version : سوال: تبدیل تاریخ به میلادی و تغییر تاریخ ویندوز



masoud.a
دوشنبه 06 بهمن 1393, 15:28 عصر
با سلام
شاید سوالم تکراری باشه ولی تو بحثهایی که شد جواب خودمو نگرفتم.
میخواستم کاربر تاریخ رو وقتی بصورت شمسی وارد کرد تاریخ ویندوز که بصورت میلادیه خود به خود عوض بشه.
خیلی ممنون اگه کمکم کنید

gilsoft
دوشنبه 06 بهمن 1393, 21:00 عصر
با سلام
شاید سوالم تکراری باشه ولی تو بحثهایی که شد جواب خودمو نگرفتم.
میخواستم کاربر تاریخ رو وقتی بصورت شمسی وارد کرد تاریخ ویندوز که بصورت میلادیه خود به خود عوض بشه.
خیلی ممنون اگه کمکم کنید


سلام دوست عزیز

از کد زیر استفاده کن:
Sub SetSystemDate(pDate As String)
Dim GPC As New System.Globalization.PersianCalendar
Dim splt() As String = Split(pDate, "/")
Today = CDate(GPC.ToDateTime(CInt(splt(0)), CInt(splt(1)), CInt(splt(2)), TimeOfDay.Hour, TimeOfDay.Minute, TimeOfDay.Second, TimeOfDay.Millisecond))
End Sub


اینم نحوه‌ی استفاده از کدهای فوق:
SetSystemDate("1393/11/06")

موفق باشید .....

masoud.a
سه شنبه 07 بهمن 1393, 12:48 عصر
سلام دوست عزیز

از کد زیر استفاده کن:
Sub SetSystemDate(pDate As String)
Dim GPC As New System.Globalization.PersianCalendar
Dim splt() As String = Split(pDate, "/")
Today = CDate(GPC.ToDateTime(CInt(splt(0)), CInt(splt(1)), CInt(splt(2)), TimeOfDay.Hour, TimeOfDay.Minute, TimeOfDay.Second, TimeOfDay.Millisecond))
End Sub


اینم نحوه‌ی استفاده از کدهای فوق:
SetSystemDate("1393/11/06")

موفق باشید .....
خیلی ممنون، ولی متوجه نشدم چطوری باید از این کد استفاده کنم:متفکر:
میشه یه مقدار بیشتر راهنمایی کنید؟

gilsoft
سه شنبه 07 بهمن 1393, 14:25 عصر
خیلی ممنون، ولی متوجه نشدم چطوری باید از این کد استفاده کنم:متفکر:
میشه یه مقدار بیشتر راهنمایی کنید؟

سلام دوست عزیز

من که توضیح دادم از دستور ("SetSystemDate("1393/11/06 استفاده کن .. بجای تاریخ مندرج در کوتیشن ... تاریخ مورد نظر خودت رو درج کن

موفق باشید .....

masoud.a
سه شنبه 07 بهمن 1393, 16:02 عصر
سلام دوست عزیز

من که توضیح دادم از دستور ("SetSystemDate("1393/11/06 استفاده کن .. بجای تاریخ مندرج در کوتیشن ... تاریخ مورد نظر خودت رو درج کن

موفق باشید .....
ممنون از راهنماییتون این کد اجرا میشه ولی این تابع رو وقتی با کلیک شدن یه دکمه اجرا میکنم با هر تاریخی که مینویسم تاریخ سیستم رو میبره به 2635
و این error میده
127962

gilsoft
سه شنبه 07 بهمن 1393, 19:59 عصر
ممنون از راهنماییتون این کد اجرا میشه ولی این تابع رو وقتی با کلیک شدن یه دکمه اجرا میکنم با هر تاریخی که مینویسم تاریخ سیستم رو میبره به 2635
و این error میده

سلام مجدد

1 - آیا این امکان هست که سورس همین قسمت از یرنامه‌ات رو بزاری ؟ :متفکر:
2 - ورژن Framework و VB.NET شما چیه ؟ :متفکر:
3 - (نمیدونم ، ولی) فکر می‌کنم که داری با #C یا ++C کدنویسی می‌کنی ؟! :متفکر:

من هم با ویندوز XP ... و هم با ویندوز 7 تست کردم .. مشکلی نداشت .... :متعجب:

masoud.a
چهارشنبه 08 بهمن 1393, 09:39 صبح
سلام مجدد

1 - آیا این امکان هست که سورس همین قسمت از یرنامه‌ات رو بزاری ؟ :متفکر:
2 - ورژن Framework و VB.NET شما چیه ؟ :متفکر:
3 - (نمیدونم ، ولی) فکر می‌کنم که داری با #C یا ++C کدنویسی می‌کنی ؟! :متفکر:

من هم با ویندوز XP ... و هم با ویندوز 7 تست کردم .. مشکلی نداشت .... :متعجب:




Public Class Form1
Sub SetSystemDate(pDate As String)
Dim GPC As New System.Globalization.PersianCalendar
Dim splt() As String = Split(pDate, "/")
Today = CDate(GPC.ToDateTime(CInt(splt(0)), CInt(splt(1)), CInt(splt(2)), TimeOfDay.Hour, TimeOfDay.Minute, TimeOfDay.Second, TimeOfDay.Millisecond))
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
SetSystemDate("1393/11/06")
End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

End Sub
End Class



درسته، تو یه سیستم دیگه که 2008 نصبه اجرا میشه.:لبخندساده:
فقط چرا یک بار اجرا میشه؟ یعنی واسه اینکه یه تاریخ دیگه انجام بده حتما قبلش باید تاریخ سیستمو به امروز برگردونم
بعد اینکه چرا رو سیستم خودم درست کار نمیکنه؟ من با 2012 VB.NET انجام میدم

_4rm4n_
چهارشنبه 08 بهمن 1393, 16:17 عصر
سلام
این کتابخونه رو ادد کنید : using System.Globalization;

اینم تابع :

public static string DATE()
{
PersianCalendar p = new PersianCalendar();
DateTime dmiladi = new DateTime();
dmiladi = DateTime.Now;
return p.GetYear(dmiladi).ToString() + "/" + p.GetMonth(dmiladi).ToString() + "/" + p.GetDayOfMonth(dmiladi).ToString();
}