PDA

View Full Version : مبتدی: استفاده از ساعت جهانی در برنامه



mrhesari
شنبه 17 تیر 1391, 14:40 عصر
سلام دوستان
چطور میشه از ساعت جهانی که سایتهای مختلف مثلا (time.windows.com) ارایه می دهند در برنامه ویژال بیسیک استفاده کرد . آیا تابعی برای این کار وجود داره؟

mohammadriano
شنبه 17 تیر 1391, 15:21 عصر
سلام
خب خودت بساز
دقیقاً نمی دونم می خواهید شهر های مهم رو دریافت کنه و فاصله زمانی یا ساعت کنونی شهر رو بده؟
می تونید یک تابع با سوئیچ کیس بنویسید که فاصله زمانی نسبت به GMT (گرینویچ - لندن) رو نسبت به مابقی شهر ها محاسبه کند
مثلاً تهران 3.5+ هست

محسن واژدی
شنبه 17 تیر 1391, 19:05 عصر
سلام علیکم
همانطور که آقای mohammadriano هم فرمودن GMT (Greenwich Mean Time)=+3.5 است، برای اضافه کردن 3.5 ساعت به ساعت محلی از DateAdd مشابه زیر میتوانیم استفاده کنیم:
Private Sub Command1_Click()
MsgBox FormatDateTime(DateAdd("h", 3.5, Now), vbLongTime)
End Sub

موفق باشید

mrhesari
یک شنبه 18 تیر 1391, 09:47 صبح
سلام دوستان
ممنون از راهنماییتون اما برنامه من سیستم ثبت زمان ورود (زمان ورود افراد به سیستم) بصورتی که کاربر امکان تغییر دستی ساعت سیستم را نداشته باشد. چون زمانی که از تابع time استفاده می کنیم کاربر می تواند ساعت را تغییر دهد.(ساعت از منبع دیگری برداشته شود تا امکان تغییر توسط کاربر وجود نداشته باشد)

ho3ein.3ven
یک شنبه 18 تیر 1391, 13:15 عصر
سلام . خب یعنی ساعت رو می خوای از اینترنت بگیری ؟
میتونی از سورس سایت های که ساعت دارن بکشی بیرون

mrhesari
یک شنبه 18 تیر 1391, 20:10 عصر
سلام ممنون از راهنماییتون
اما می خوام بدونم چجوری میشه این کارو کرد؟

arenaw
یک شنبه 18 تیر 1391, 20:59 عصر
سلام
کنترل های WebBrowser , TextBox , CommandButton رو روی فرم بذارید و ازین کد استفاده کنید ببینید منظورتون همینه؟

Private Sub Command1_Click()
WebBrowser1.Navigate "http://www.timeanddate.com/worldclock/city.html?n=246"
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Dim S As String, F As String, C As String
C = WebBrowser1.Document.Body.innerHTML
S = "<STRONG id=ct class=big>"
F = "</STRONG>"
Text1.Text = Mid(C, InStr(1, C, S) + Len(S), InStr(1, Mid(C, InStr(1, C, S) + Len(S)), F) - 1)
End Sub


البته این ساعت به وقت تهران هستش، شهرهای دیگه رو اگه بخواید باید url اون رو از همین سایت (http://www.timeanddate.com/worldclock/city.html?n=246) جایگزین کنید
فرمت url که میذارید باید مثل همین باشه یعنی http://www.timeanddate.com/worldclock/city.html?n=XXX

oYaMaa
یک شنبه 18 تیر 1391, 23:58 عصر
سلام علیکم
همانطور که آقای mohammadriano هم فرمودن GMT (Greenwich Mean Time)=+3.5 است، برای اضافه کردن 3.5 ساعت به ساعت محلی از DateAdd مشابه زیر میتوانیم استفاده کنیم:
Private Sub Command1_Click()
MsgBox FormatDateTime(DateAdd("h", 3.5, Now), vbLongTime)
End Sub
موفق باشید

آقای واژدی اگه میشه درباره این کدتون یه توضیح بدید!خصوصا راجع به dateadd و h
در ضمن ممنون میشم اگه یه کد جامع بذارید برای این کار.که یعنی فقط timr zones مورد نظرو بهش بدید و ساعت بگیریم.
ممنون...

ho3ein.3ven
دوشنبه 19 تیر 1391, 00:42 صبح
سلام . با اجازه جناب واژدی
ببین این تابع (dateadd) برای به جلو بردن تاریخ سیستم . اون h هم به معنای ساعت و اگر شما قصد اضافه کردن بر دقیقه رو دارید می تونید از n و اگر قصد اضافه کردن بر ثانیه رو دارید می تونید از s استفاده کنید.
برای نمونه :
FormatDateTime(DateAdd("n", 3, Now), vbLongTime)

oYaMaa
دوشنبه 19 تیر 1391, 10:58 صبح
سلام . با اجازه جناب واژدی
ببین این تابع (dateadd) برای به جلو بردن تاریخ سیستم . اون h هم به معنای ساعت و اگر شما قصد اضافه کردن بر دقیقه رو دارید می تونید از n و اگر قصد اضافه کردن بر ثانیه رو دارید می تونید از s استفاده کنید.
برای نمونه :
FormatDateTime(DateAdd("n", 3, Now), vbLongTime)

ممنون بابت جوابت!
فکر کنم n رو اشتباه تایپ کردی، m هستش
خوب تا اینجا ما اضافه کردیم.بعضی وقت ها باید کم کنیم.تو این شرایط جای dateadd چی بذاریم؟
ممنون!

محسن واژدی
دوشنبه 19 تیر 1391, 14:17 عصر
.
.
.
خوب تا اینجا ما اضافه کردیم.بعضی وقت ها باید کم کنیم.تو این شرایط جای dateadd چی بذاریم؟
ممنون!
سلام علیکم
مقدار را منفی میکنیم، برای مثال برای کم کردن دو ساعت از ساعت فعلی میتوانیم تعریف کنیم:


Private Sub Command1_Click()
MsgBox FormatDateTime(DateAdd("h", -2, Now), vbLongTime)
End Sub
موفق باشید

ho3ein.3ven
دوشنبه 19 تیر 1391, 22:45 عصر
ممنون بابت جوابت!
فکر کنم n رو اشتباه تایپ کردی، m هستش
خوب تا اینجا ما اضافه کردیم.بعضی وقت ها باید کم کنیم.تو این شرایط جای dateadd چی بذاریم؟
ممنون!

برای اضافه کردن به دقیقه باید n قرار داد . خودتون امتحان کنید .