• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

ست کردن ساعت و دقیقه سرور با time zone در اasp

mo_ra1379

کاربر تازه وارد
تاریخ عضویت
12 می 2006
نوشته‌ها
93
لایک‌ها
2
سلام به همه دوستان.
در مورد این موضوع کلی گشتم و چون به نتیجه نرسیدم گفتم اینجا رو هم امتحان کنم .
من یه مشکلی با ست کردن ساعت سرور با تایم ایران دارم . مثلا ساعت سرور من 10:30 ساعت از ایران جلوتره و مشکل اینجاست که من به ساعت و دقیقه به صورت جدا از هم احتیاج دارم یعنی از دو کد زیر باید استفاده کنم :
<% = hour(now) %>
و
<% = Minute(Now) %>

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

mazoolagh

Registered User
تاریخ عضویت
10 آپریل 2004
نوشته‌ها
2,938
لایک‌ها
7
ساعت و تاریخ سرور در اختیار شما نیست که بتونین از طریق صفحات asp اون رو تغییر بدین!
 

mehdi_ag

کاربر تازه وارد
تاریخ عضویت
12 ژوئن 2006
نوشته‌ها
22
لایک‌ها
0
محل سکونت
Tehran
دقیقا بگو چیکار می خواهی بکنی با ساعت ؟
اگه برای نمایش می خواهی یا می خواهی مثلا زمان وقوع یه کاری رو ثبت کنی می تونی اون رو به صورت یک رشته کاراکتری در بیاری و ذخیرش کنی

اگه مشکلو کامل شرح بدی شاید بتونم کمکت کنم
 

mo_ra1379

کاربر تازه وارد
تاریخ عضویت
12 می 2006
نوشته‌ها
93
لایک‌ها
2
در مورد پست mazoolagh جان باید بگم که درسته . ساعت و تاریخ سرور قابل تغییر بوسیله کاربران هاستش نیست . اما میشه برای تاریخ و ساعت سرور که می خواد در یک صفحه نمایش داده بشه تابعی نوشت که با ساعت مثلا ایران ست بشه . همون کاری که مثلا برای نمایش تاریخ شمسی با گرفتن تاریخ میلادی سرور بوسیله ASP انجام میدن .
اما در جواب مهدی باید بگم که من ساعت رو برای نمایش دادن می خوام . تابعی با جاوا اسکریپت هست که با گرفتن ساعت و دقیقه و ثانیه از همان لحظه لود شدن شروع به کانت آپ (شمارش) ساعت می کنه و به عبارتی از همون سه تا عدد (ساعت و دقیقه و ثانیه ) گرفته شده شروع به شمارش می کنه مثل یه ساعت کامپیوتری ! خوب همونطوری که می دونید تو ASP میشه ساعت و دقیقه و ثانیه رو از هم جدا کرد و در یک فانکشن ریخت . حالا با توجه به این دو مطلب میشه ساعتی رو ساخت که با لود شدن صفحه به صورت داینامیک شروع به شمارش ساعت سرور کنه (نه ساعت سیستم کاربر) و ساعت دقیق رو بدون وابستگی به ساعت سیستم کاربر صورت داینامیک نمایش بده !
خوب این خیلی خوبه ولی ...
حالا یه مشکل : مشکل اینه که ساعت سرور با ساعت ایران 10:30 ساعت اختلافشه . یعنی مثلا وقتی سرور 2 بعد از ظهره ساعت ایران 12:30 شب (= 00:30 صبح) رو نشون میده . خوب یه طوری باید این ساعت رو به ساعت ایران تبدیل کنیم دیگه . متاسفانه چون ساعت و دقیقه از هم جدا هستند نمیشه کلا منهای 10:30 کرد !!! بلکه باید با یه راهی یا کل ساعت سرور رو که در صفحه نمایش داده میشه منهای 10:30 کرد یا یه تابع ساخت که بتونه این کار رو بکنه . تابع هم باید به این شکل باشه که تغییرات ساعت و دقیقه را تشخیص و در صورت لزوم به نسبت هر کدوم اون یکی رو تغییر بده ....
همین !!!
البته اینم بگم که تابعش رو تا یه جایی خودم نوشتم ولی خوب بعضی وقتا قات می زنه :wacko: !
نمی دونم شاید راه دیگه ای هم اصلا راحتتر از اینها وجود داشته باشه که من خبر ندارم ..
اگه کسی بتونه حلش کنه که دیگه خداست :blink: !!!!!
 

mehdi25

کاربر تازه وارد
تاریخ عضویت
28 اکتبر 2004
نوشته‌ها
1,318
لایک‌ها
2
محل سکونت
طهران

mo_ra1379

کاربر تازه وارد
تاریخ عضویت
12 می 2006
نوشته‌ها
93
لایک‌ها
2
به نقل از mehdi25 :

دستت درد نکنه خوندم .
ببین فقط یه سوال : اون فانکشن که نوشته شده یعنی :
Datenew = DateAdd("h", -7, Now())
دقیقا چی کار می کنه ؟
یعنی بعد از این کد هر تایمی که تو صفحه کال بشه تایم اصلاح شده است که اختلاف زمانی نداره ؟؟؟
یعنی بعد از این کد ساعت و دقیقه اگه گرفته بشه به صورت اصلاح شده نمایش داده میشه ؟
یه توضیحی بدی ممنونت میشم
 

mehdi25

کاربر تازه وارد
تاریخ عضویت
28 اکتبر 2004
نوشته‌ها
1,318
لایک‌ها
2
محل سکونت
طهران
آره . درست گفتی .
ساعت سرور رو می گیره و با اختلاف زمانی که شما تعریف کردی ست میکنه و نتیجه زمان محلی رو نمایش میده .

بعد از این کار در تمام جا هایی که از زمان استفاده می کنی باید از Datenew بهره ببری .


موفق باشی
 

mo_ra1379

کاربر تازه وارد
تاریخ عضویت
12 می 2006
نوشته‌ها
93
لایک‌ها
2
به نقل از mehdi25 :
آره . درست گفتی .
ساعت سرور رو می گیره و با اختلاف زمانی که شما تعریف کردی ست میکنه و نتیجه زمان محلی رو نمایش میده .

بعد از این کار در تمام جا هایی که از زمان استفاده می کنی باید از Datenew بهره ببری .


موفق باشی

مهدی جان یه دنیا ممنون . مشکلم حل شد ... خیلی جالبه وقتی خواستم این مشکلم رو حل کنم کلی فکر کردم تا یه الگوریتم برای تبدیل ساعت و دقیقه به طور جدا به تایم ایران کردم ...:blink: در حالی که به این راحتی حل شد !!!! ;)

راستی برای اینکه آیندگان هم از این بحث ما نتیجه بگیرند باید بگم که:

میشه با دو خط کد زیر یعنی
کد:
Datenew = DateAdd("H", +5 , Now())
Datenew = dateadd("N", +30 , Datenew)

کاری کرد که ساعت و دقیقه سرور اگه با تایم زون منطقه اختلاف داره به طور صحیح ست بشه .
مثلا تو مثال 5:30 ساعت سرور عقب تر از تایم ایرانه که با این کد اصلاح میشه.



مهدی جان بازم ممنون ازت ...

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