سلام من سایتی رو آپلود کردم کدهام مشکل نداره اما برای بدست آوردن زمان جاری در ثبت وقایع ازdatetime.now در c#استفاده کردم اما ساعتی که برمیگردونه با ساعت جاری اختلاف داره بجاش چی باید بذارم؟
سلام.
ممکنه تنظیمات ساعت هاستی که اجاره کردی درست نباشه.(شاید کلا تنظیم نشده باشه یا شاید بر اساس گرینویچ باشه)
روش 1 ) میتونی با ارسال یه تیکت به اون شرکتی که ازش هاستت رو اجاره کردی در این مورد کمک بخوای.
روش 2 ) اگه مشکلت رو حل نکردن ، میتونی اختلاف زمانی ساعتی که بهت میده رو محاسبه کنی و قبل از درج زمان ، اون اختلاف رو اعمال کنی.
البته این روش دوم ترجیحا در صورت جواب ندادن روش اول انجام بشه ، چون اگر شرکت میزبان تصمیم گرفت ساعتش رو تنظیم کنه ، دوباره زمان سیستم شما اشتباه درج خواهد شد
شما می تونید به جای کد DateTime.Now از DateTime.UtcNow.AddHours(3.5) استفاده کنید. به علت تفاوت 3.5 ساعت ایران با گرینویچ شما مقدار ساعت گرینویچ رو میگیرید و 3.5 ساعت به اون اضافه میکنید و ساعت دقیق ایران رو بدست میارید.
اینم مقاله درباره همین موضوع : http://barnamenevisan.org/Articles/Article723.html
ممنون از دوستان...
در صورتیکه می خواهید در کل برنامه مشکلی نداشته باشید بهتر است از Function SQLاستفاده کنید. ممکن است نیاز به تغییر سرور هم داشته باشید پس مراحل زیر را در نظر بگیرید:
1. ابتدا تفاوت ساعت کشور میزبان سرور خود را با ایران در جدولی به صورت مقدار عددی ذخیره کنید.
2. Function ای مثلا با نام GetServerDateTime ایجاد کنید. حالا می توانید در کل برنامه خود خصوصا اگر Insert های برنامه از طریق sp انجام می شود. با خیال راحت تاریخ را محاسبه نمایید.
(در مثال زیر مقدار اختلاف در جدولی با نام str_Config نگهداری می شود)
Create Function [dbo].f_GetServerDateTime
()
Returns DateTime
As
Begin
Declare @TimeAdd int
Set @TimeAdd = 0
IF Exists(Select xValue From str_Config Where Config = 'Time')
Begin
Set @TimeAdd = (Select xValue From str_Config Where Config = 'Time')
End
-- Get Time AS HourMinuteSecond
Return DateAdd(mi,@TimeAdd,getdate())
End
تشکر آقای صابری
سلام
هوووووووووووووو چقد سختش کردین!
System.DateTime.Now
سیستمت لوکال باشع یا هاست واقعی همونو بهت میده!
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)