برگزیده های پرشین تولز

اختلاف ساعت server با client و رفع این مشکل

marooned_tools

کاربر تازه وارد
تاریخ عضویت
11 جولای 2007
نوشته‌ها
22
لایک‌ها
0
سن
41
محل سکونت
tehran - irn
سلام دوستان من یه مشکل دارم کسی می تونه کمکم کنه ؟

من یه صفحه دارم که از طریق اون میشه یک مطلب نوشت و ارسال کرد - بعد در یک صفحه دیگه مطالب ارسالی مردم نشون داده میشه - یه چیزی مثل همین تاپیک ها - فقط به مشکل دارم وقتی کسی مطلب خودشو ارسال می کنه من اونو تو دیتابیس ذخیره می کنم به تاریخ و ساعت همون لحظه اما چون سرور Hosting من تو آمریکاست تاریخ و ساعت به وقت سرور ثبت می شه - مثلا اگه امروز صبح ساعت 8 یکی مطلب ارسال کنه توی دیتابیس به تاریح دیشب ساعت 12:30 ثبت می شه - می دونم که باید یجوری Time سرور رو به Time کلاینت تبدیل کنم و یا اینکه از Timezone استفاده کنم اما چجوری ؟


راستی من از کلاس Datetime برای دسترسی به تاریخ استفاده کردم و توی این کلاس هیچ متدی که بهم کمک کنه پیدا نکردم.

تورو خدا کمکم کنید. ممنون
:(
 

marooned_tools

کاربر تازه وارد
تاریخ عضویت
11 جولای 2007
نوشته‌ها
22
لایک‌ها
0
سن
41
محل سکونت
tehran - irn
بابا یعنی یه مسلمون پیدا نمی شه جواب من بیچاره رو بده ؟:(
 

mosyhey1

Registered User
تاریخ عضویت
27 جولای 2005
نوشته‌ها
225
لایک‌ها
4
یکی از راه هایش این است که شما زمان را همین گونه در دیتا بیس ذخیره کنید و سپس هنگام نمایش از همه 7.5 ساعت کم کنید و آن را نمایش دهید. البته در مواقع مختلف سال این اختلاف شاید فرق کند به علت ساعات تابستانی کشور ها.
 

marooned_tools

کاربر تازه وارد
تاریخ عضویت
11 جولای 2007
نوشته‌ها
22
لایک‌ها
0
سن
41
محل سکونت
tehran - irn
یکی از راه هایش این است که شما زمان را همین گونه در دیتا بیس ذخیره کنید و سپس هنگام نمایش از همه 7.5 ساعت کم کنید و آن را نمایش دهید. البته در مواقع مختلف سال این اختلاف شاید فرق کند به علت ساعات تابستانی کشور ها.

به این راه فکر کردم اما اگه با اضافه شدن به ساعت هاست از 12 شب بگذره میره روز بعد اونوقت باید تاریخ رو هم 1 روز ببرم جلو و با وجود تفاوتهای فاهش تقویم میلادی و شمسی در موارد استثنایی به مشکل بر می خورم. راه اصولی تری باید باشهو من یادمه توی vb 6 میشد به تاریخ یک محدوده زمانی اضافه کرد مثلا 1 روز و 2 ساعت و 50 ثانیه اونوقت تاریاتوماتیک می رفت جلو . یه همچین چیزی می خوام.
 

mosyhey1

Registered User
تاریخ عضویت
27 جولای 2005
نوشته‌ها
225
لایک‌ها
4
اگر شما هنگام ذخیره زمان ارسال پیام بازدید کننده آن را با فرمت کامل تاریخ و زمان که از دستور Now() به دست می آید استفاده کنید با جمع و تفریق زمان، تاریخ هم عوض می شود.
برای مثال در کد زیر ابتدا زمان و تاریخ جاری و سپس تاریخ و زمان 7.5 ساعت پیش را چاپ می کند و اگر نیاز باشد تاریخ را هم تغییر می دهد:
کد:
<%
Response.Write(Now())
Response.Write("<hr>")
Response.Write(Now()-(7.5/24))
%>
راه دیگر این است که شما زمان جاری را از زمان ثبت شده کم کنید و این طور نمایش دهید: "2 ساعت پیش" یا "20 روز و 3 ساعت پیش". که در این صورت مهم نیست ساعت سرور چند باشد.
 
بالا