PDA

View Full Version : گرفتن زمان (ساعت) بصورت آنلاین از سایتی



remower
دوشنبه 03 شهریور 1399, 11:02 صبح
سلام دوستان چطور میشه ساعت دیجیتالی سایت https://time.ir رو توی لیبل فرم نمایش داد و شروع به شمارش و تیک کردن کنه با کنترل تایمر
کلا ساعتی میخوام که بدون اینکه از سیستم گرفته بشه چون ساعت های سیستم معمولا دقیق نیستن یا تنظیم نیستن روشی هس بشه بجز تایم سیستم از تایم دیگه ای استفاده کرد؟ که بصورت ران تایم باشه یعنی خروجی درحال تغییر ثانیه و .. باشه
ثابت نباشه
یعنی سایت هایی که زمان و ساعت دارن حالا بصورت جاوا اسکریپت هستن یا ... رو بشه چیزی مثل اون رو توی فرم سی شارپ اجرا کرد

مهدی کرامتی
دوشنبه 03 شهریور 1399, 12:53 عصر
با استفاده از HtmlAgilityPack هر بخش از صفحه که لازمه رو براحتی می توانید بخوانید.

remower
دوشنبه 03 شهریور 1399, 13:34 عصر
بجز سایتهای آنلاین، روش دیگه ای هست که ساعت دقیق رو بشه گرفت؟

مهدی کرامتی
دوشنبه 03 شهریور 1399, 13:58 عصر
بله.
با خواندن ساعت/زمان از شبکه، با استفاده از پروتکل NTP (که در همه سیستم عامل ها برای محاسبه دقیق زمان کنونی بر اساس مراجع ارائه دهنده اطلاعات تاریخ/زمان در اینترنت استفاده میشه).
اول از همه در پروژه تون، در Package Manager Console دستور زیر را اجرا کنید:

Install-Package NodaTime.NetworkClock
سپس هر جا نیاز داشتید تاریخ/زمان رو از شبکه دریافت کنید چنین کدی رو اجرا کنید:
string time = GetRealTimeInZone("Asia/Tehran").ToString("HH:m:s tt");

توضیحات تکمیلی:
پکیجی که عرض کردم نصب کنید برگرفته از این مخزن گیت هاب (https://github.com/mj1856/NodaTime.NetworkClock) است. کد درونی این کتابخانه همانطور که در خط 24 این فایل (https://github.com/mj1856/NodaTime.NetworkClock/blob/master/src/NodaTime.NetworkClock/NetworkClock.cs) مشخص است از سرور pool.ntp.org برای بدست آوردن زمان کنونی استفاده می کند و با مرور کدها مشخص است که با باز کردن یک سوکت، اطلاعات مورد نیاز از سایت فوق استخراج می شود.
در صورت ترجیح می توانید سرور فوق را به چیزی مثل time.windows.com یا هر سرور مورد ترجیح دیگری که سریعتر پاسخ دهد تغییر دهید.

remower
دوشنبه 03 شهریور 1399, 17:42 عصر
نصب نشد این خطا رو میده اینترنت هم فعال هست


Adding 'NodaTime.NetworkClock 2.0.0' to gkmi.

Uninstalling 'NodaTime.NetworkClock 2.0.0'.
Successfully uninstalled 'NodaTime.NetworkClock 2.0.0'.
Install failed. Rolling back...
Install-Package : Could not install package 'NodaTime.NetworkClock 2.0.0'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.5', but the
package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
At line:1 char:1
+ Install-Package NodaTime.NetworkClock
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Com mands.InstallPackageCommand

barnamenevisjavan
دوشنبه 03 شهریور 1399, 17:45 عصر
نصب نشد این خطا رو میده اینترنت هم فعال هست

Adding 'NodaTime.NetworkClock 2.0.0' to gkmi.

Uninstalling 'NodaTime.NetworkClock 2.0.0'.
Successfully uninstalled 'NodaTime.NetworkClock 2.0.0'.
Install failed. Rolling back...
Install-Package : Could not install package 'NodaTime.NetworkClock 2.0.0'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.5', but the
package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
At line:1 char:1
+ Install-Package NodaTime.NetworkClock
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Com mands.InstallPackageCommand
نسخه دات نت پروژه رو زیاد کن 4.6 یا 4.7 بزار

مهدی کرامتی
دوشنبه 03 شهریور 1399, 17:55 عصر
نسخه دات نت پروژه رو زیاد کن 4.6 یا 4.7 بزار
فرمایش ایشان صحیح است.
همان طور که از متن خطا مشخص است ورژن فریم ورک مورد استفاده شما 4.5 است که توسط کتابخانه مورد اشاره پشتیبانی نمی شود. من با 4.7.2 تست کردم مشکلی نداشت و کار کرد.

remower
دوشنبه 03 شهریور 1399, 20:10 عصر
ویندوز 10 نصب هست متاسفانه نت فرامورک بالاتر از ورژن 4.5 نصب نمیشه
ورژن 4.6
4.7
4.7.2
4.8
دانلود کردم هیچکدوم نصب نشدن پیغام خطای همشون به این شکل بود
.NET Framework 4.7 or a later update is already installed on this computer.

مهدی کرامتی
دوشنبه 03 شهریور 1399, 20:26 عصر
اگر فریم ورک نصب است کافیه روی اسم پروژه رایت کلیک کنید، Properties رو انتخاب کنید و ورژن فریم ورک رو بالا ببرید‌.