تالارهای پادشاه ایرانی

بازگشت   تالارهای پادشاه ایرانی > كامپيوتر > وب مستر > برنامه نویسی وب > ASP

ASP تمامی مباحث ASP در اینجا

پاسخ
 
ابزارهای تاپیک جستجوی این تاپیک

تبديل تاريخ و ساعت محلی به تاريخ و ساعت رسمی ايران
  #1  
قدیمی 15/11/2009
آواتار afshini
afshini afshini آفلاین است
مدیر بازنشسته بخش شبکه و اینترنت
 

نام: افشین شجاع مقدم
جنسيت: مرد
شغل: دانشجو
محل سکونت: شهر کوروش کبیر
مدرک تحصيلی: کارشناسی
پست: 2,897
سپاس: 2,561
از این کاربر 2,091 بار در 1,170 پست سپاسگزاری شده
اعتراض ها: 4
به این کاربر 5 بار در 4 پست اعتراض شده
چوب: 189,637
ارسال پیغام Yahoo به afshini
Smile تبديل تاريخ و ساعت محلی به تاريخ و ساعت رسمی ايران

اين مقاله به ارايه يک راه حل مفيد برای تبديل تاريخ ميلادی به شمسی با توجه به اختلاف زمانی می پردازد.

--------------------------------------------------------------------------------
با توجه به اينکه بسياری از سرويس های خوب و مناسب وهمچنين مجانی ميزبانی وب (hosting) در خارج از ايران و معمولا در کشورهای امريکايی و اروپايی ارائه می شود و در نتيجه تاريخ آنها ميلادی و ساعت آنها ساعت رسمی کشور مربوطه است برآن شدم تا کلاسی را برای تبديل تاريخ و ساعت سرورهای مربوطه به تاريخ و ساعت رسمی ايران بنويسم. اگر چه در اين مورد برنامه های مختلفی ارايه شده است، اما اين برنامه نيز ويژگيهای مربوط به خود را داراست که در زير به آن اشاره می شود.

• تبديل تاريخ ميلادی به شمسی با توجه به اختلاف زمان. بدين معنی که تغيير تاريخ در زمان خود صورت می گيرد. بطور مثال اگر تبديل تاريخ برای زمان جاری سيستم انجام شود، تاريخ شمسی بدست آمده معادل با تاريخ شمسی ايران است يعنی اگر در راس ساعت 12 شب تاريخ يک روز جلو برود، همين اتفاق در همين ساعت برای سايت رخ می دهد.

• نمايش زمان ايران با توجه به تغيير ساعاتی که در اول بهار و آخر پاييز صورت می گيرد. بنا براين تاريخ و ساعت تبديلی نيزدقيق و بدون نوسان در زمانهای معينی است. بطور مثال تبديل تاريخ يک روز تابستان در ساعت 12:30 شب را روز بعد نشان می دهد (يعنی ۱ ساعت جلو رفته را در نظر گرفته و تاريخ را تنظيم می کند. در غير اينصورت می بايست ساعت را 11:30 شب در نظر گرفته و روز را روز قبل محاسبه می کرد که اين اشتباه است).

• نمايش تاريخ به ۴ صورت ممکن است. بطور مثال خواهيم داشت:

• حالت اول: 12/5/1381

• حالت دوم: 12 مرداد 1381

• حات سوم: شنبه 12/5/1381

• حالت چهارم: شنبه 12 مرداد 1381

• محاسبه توسط روشهای معمولی انجام می گيرد. بدين ترتيب که درمحاسبه تاريخ و زمان از هيچ فرمول خاصی استفاده نشده است و اين باعث می شود که کدها و روش محاسبه قابل فهم باشد.

با توجه به ويژگيهای فوق، اين کلاس محدوديت هايی را نيز داراست که بايد مد نظر باشند:


• تبديل فقط از تاريخ ميلادی به شمسی است و برعکس آن امکان پذير نيست.

• کلاس فقط توانايی محاسبه اختلاف زمانی کشورهای غرب ايران را داراست. بدين معنی که اگر سرور در شرق ايران همچون کشورهای ژاپن و چين بود، اين کلاس از محاسبه زمان مربوطه نا توان است.

• ساعت سرور نبايد جلو و يا عقب برود.


__________________
پاسخ با نقل قول

5 تاپیک آخر توسط afshini
تاپیک تالار آخرین ارسال کننده پاسخ نمایش آخرین پست
کاربران واتس اپ به ۶۰۰ میلیون رسید شبكه و اينترنت afshini 0 41 28/08/2014 01:59
وزیر ارتباطات و فناوری اطلاعات خبر داد: اجماع ملی... شبكه و اينترنت afshini 0 1010 12/02/2012 12:45
شبكه بي‌سيم خود را امن نگه داريد هک و امنیت afshini 1 1590 01/12/2011 19:39
10 اشتباه متداول مديران شبكه هک و امنیت afshini 1 1332 01/12/2011 19:31
دیواری مستحكم از جنس آتش هک و امنیت afshini 2 1894 24/03/2011 10:56


  #2  
قدیمی 15/11/2009
آواتار afshini
afshini afshini آفلاین است
مدیر بازنشسته بخش شبکه و اینترنت
 

نام: افشین شجاع مقدم
جنسيت: مرد
شغل: دانشجو
محل سکونت: شهر کوروش کبیر
مدرک تحصيلی: کارشناسی
پست: 2,897
سپاس: 2,561
از این کاربر 2,091 بار در 1,170 پست سپاسگزاری شده
اعتراض ها: 4
به این کاربر 5 بار در 4 پست اعتراض شده
چوب: 189,637
ارسال پیغام Yahoo به afshini
پس از مقدمه فوق به بررسی خصوصيات و متدهای کلاس می پردازيم:

۱- خصيصه SFhour: (Boolean)
با تنظيم اين خصيصه به مقدار True باعث می شود که جلو و يا عقب بردن ساعت در نظر قرار گيرد. اگر مقدار را False قرار دهيد ديگر ساعت در آغاز بهار جلو برده نمی شود و در نتيجه در ابتدای پاييز نيز برگرداندن ساعت اعمال نخواهد شد.

توجه کنيد که اين خصوصيت، مقدار جلو و يا عقب بردن را تغيير نمی دهد. اين تغيير مقدار ثابت و همان ۱ ساعت مصوبه مجلس شورای اسلامی است.

۲- خصيصه Time_Diff: (Time)
اين خصيصه اختلاف زمانی ميان ايران و سرور حاوی سايت را تنظيم ميکند. برای بدست آوردن اختلاف زمانی مربوطه کافی است يکبار صفحه حاوی دستور <%=time%> را اجرا کنيد تا زمان سرور بدست آيد. سپس اختلاف زمانی را با توجه به اينکه زمان ايران مقدار بيشتری دارد محاسبه کنيد و مقدار حاصل را به اين خصيصه انتصاب دهيد. توجه کنيد که اگر در فصل بهار يا تابستان هستيد، ۱ ساعت از مقدار حاصل کم کنيد. بطور مثال اختلاف ساعت ايران با دوبی نيم ساعت است که بايد به صورت objectname.Time_Diff=00:30 منظور شود.

۳- خصيصه State: (از 0 تا 3)
اين خصيصه مقداری از 0 تا 3 را می گيرد که نحوه نمايش تاريخ را نشان می دهد. 0 مربوط به کوچکترين شکل و 3 مربوط به شکل کامل است.

۴- متد To_Hejri : (DateTime)
اين متد تاريخ و زمان را با هم دريافت می کند و با توجه به تنظيمات انجام شده تاريخ شمسی را با رعايت اختلاف زمانی بدست می آورد. بدين ترتيب تاريخ بدست آمده در تمامی ساعات روز با تاريخ شمسی ايران مطابقت می کند و تغيير تاريخ نيز در موقع مقرر انجام می گيرد. توجه کنيد که مقدار وررودی بايد يک مقدار کامل از تاريخ و زمان باشد.برای بدست آوردن تاريخ و زمان جاری سيستم در يکجا از تابع now() استفاده کنيد و يا اينکه تاريخ و زمان مورد نظر را به اين صورت به متد مربوطه ارسال کنيد: Fdate & " " & Ftime که در آن Fdate و Ftime شامل فرمت های صحيحی از تاريخ و زمان باشند.

۵- متد To_Time: (DateTime)
اين متد نيز مانند متد To_Hejri تاريخ و زمان را با هم دريافت می کند و با توجه به اختلاف زمانی موجود و تغيير ساعت موجود در ايران (در صورت تنظيم خصيصه SFhour) زمان رسمی ايران را بازمی گرداند. توجه کنيد که اين متد مقدار بازگشتی اش از نوع زمان است، بنابرين قادر خواهيد بود با توابع مربوطه شکل مورد نظر خود را از آن درآوريد. بطور مثال formatdatetime(objectname.To_Time(now()),vbLongTim e) زمان جاری را پس از تغييرات به شکل بلند آن نشان خواهد داد.

برای استفاده صحيح از کلاس فوق کل کلاس را در يک فايل قرار دهيد ودر انتهای فايل يک نمونه از شئ را ايجاد کرده و تنظيمات مربوطه را برای آن انجام دهيد. سپس فايل را به صفحه های ASP دلخواه بچسبانيد (include) و از شئ مربوطه استفاده کنيد. بطور نمونه پس ازتعريف کلاس بنويسيد:

کد PHP:
DIM OBJhejri
SET OBJhejri
=NEW farsi_date_time
OBJhejri
.SFhour True
OBJhejri
.Time_Diff #9:0:0# 
OBJhejri.State=
توجه کنيد که حتما لازم نيست که بدين صورت عمل کنيد. شما حتی قادر خواهيد بود نمونه های مختلفی از کلاس را ايجاد کرده و برای هر کدام خصوصيات مربوطه را جداگانه و بر حسب نياز تنظيم کنيد. بدين ترتيب شما قادر خواهيد بود زمان و تاريخ ايران را به طور دقيق و مستند پيدا کنيد. همچنين اين کلاس برای سرورهايی که زمان آن با ايران تنظيم شده نيز قابل استفاده است و بدينوسيله، در صورتيکه آنها زمان را جلو وعقب نبرند، شما خود اين کار را انجام می دهيد. حتی اگر آنها نيز ساعت را جلو و عقب ببرند، حداقل استفاده کلاس يعنی تبديل تاريخ ميلادی به شمسی هنوز قابل استفاده است. در اين حالت که استفاده شئ در پايين ترين سطح خود می باشد، به صورت زير هواهد بود:

کد PHP:
OBJhejri.SFhour False
OBJhejri
.Time_Diff #0:0:0# 
کدهای مربوط به کلاس توضيح داده شده که در ASP و VB6 قابل استفاده می باشد را می توانيد از قسمت عنوان همين مقاله دريافت نمائيد.

__________________
پاسخ با نقل قول
کاربر زیر بخاطر پست مفید از afshini سپاسگزاری کرده اند :

  #3  
قدیمی 23/11/2009
آواتار fgheisari
fgheisari fgheisari آفلاین است
تازه وارد
 

نام: fatima
جنسيت: زن
شغل: بر نامه نویس
محل سکونت: تهران
مدرک تحصيلی: یسبس
پست: 1
سپاس: 0
از این کاربر 0 بار در 0 پست سپاسگزاری شده
اعتراض ها: 0
به این کاربر 0 بار در 0 پست اعتراض شده
چوب: 0
پس کد کجاست آخه؟ چرا پیدا نمی کنم linkesho
پاسخ با نقل قول
پاسخ

سایت های اجتماعی



کاربران در حال دیدن تاپیک: 1 (0 عضو و 1 مهمان)
 

(نمایش-همه کاربرانی که این تاپیک را مشاهده کرده اند : 3
Government 0261, Hamidnch, zabi42
ابزارهای تاپیک جستجوی این تاپیک
جستجوی این تاپیک:

جستجوی پیشرفته

قوانین ارسال
شمانمی توانید تاپیک جدید ارسال نمایید
شمانمی توانید پاسخی ارسال نمایید
شمانمی توانید پیوست ارسال نمایید
شمانمی توانید پست های خود را ویرایش نمایید

کد بی بیفعال است
شکلک ها فعال است
کد [IMG] فعال است
کدهای HTML غیر فعال است

مراجعه سریع


زمان محلی شما با تنظیم GMT +4.5 هم اکنون 19:59 میباشد.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright © 2006 - 2014 ParsiKing. All Rights Reserved to Parsiking Group
دامین های زیر جهت ارائه خدمات در مالکیت سایت پادشاه ایرانی می باشد
parsiking.com - parsiking.biz - parsiking.org - parsiking.net - parsiking.in - parsiking.ir
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios