مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

soli

عضویت از 1392/07/22

به دست آوردن زمان جاری در هاست

  • دوشنبه 17 شهریور 1393
  • 19:20
تشکر میکنم

سلام من سایتی رو آپلود کردم کدهام مشکل نداره اما برای بدست آوردن زمان جاری در ثبت وقایع ازdatetime.now در c#استفاده کردم اما ساعتی که برمیگردونه با ساعت جاری اختلاف داره بجاش چی باید بذارم؟

پاسخ های این پرسش

تعداد پاسخ ها : 6 پاسخ
کاربر سایت

webman

عضویت از 1392/09/12

  • سه شنبه 18 شهریور 1393
  • 10:58

سلام.

ممکنه تنظیمات ساعت هاستی که اجاره کردی درست نباشه.(شاید کلا تنظیم نشده باشه یا شاید بر اساس گرینویچ باشه)

روش 1 ) میتونی با ارسال یه تیکت به اون شرکتی که ازش هاستت رو اجاره کردی در این مورد کمک بخوای.

روش 2 ) اگه مشکلت رو حل نکردن ، میتونی اختلاف زمانی ساعتی که بهت میده رو محاسبه کنی و قبل از درج زمان ، اون اختلاف رو اعمال کنی.

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

کاربر سایت

سجاد باقرزاده

عضویت از 1392/02/24

  • چهارشنبه 19 شهریور 1393
  • 11:35

شما می تونید به جای کد DateTime.Now از DateTime.UtcNow.AddHours(3.5) استفاده کنید. به علت تفاوت 3.5 ساعت ایران با گرینویچ شما مقدار ساعت گرینویچ رو میگیرید و 3.5 ساعت به اون اضافه میکنید و ساعت دقیق ایران رو بدست میارید.

اینم مقاله درباره همین موضوع : http://barnamenevisan.org/Articles/Article723.html

کاربر سایت

soli

عضویت از 1392/07/22

  • چهارشنبه 19 شهریور 1393
  • 22:29

ممنون از دوستان...

کاربر سایت

hrsaberi

عضویت از 1393/06/16

  • شنبه 22 شهریور 1393
  • 22:56

در صورتیکه می خواهید در کل برنامه مشکلی نداشته باشید بهتر است از  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

کاربر سایت

soli

عضویت از 1392/07/22

  • دوشنبه 31 شهریور 1393
  • 11:02

تشکر آقای صابری

کاربر سایت

sisfs

عضویت از 1393/08/17

  • یکشنبه 18 آبان 1393
  • 17:15

سلام

هوووووووووووووو چقد سختش کردین!

System.DateTime.Now

سیستمت لوکال باشع یا هاست واقعی همونو بهت میده!

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)