PDA

View Full Version : سینک کردن تاریخ سیستم با اینترنت



mohammadreza.4747
سه شنبه 13 خرداد 1393, 22:11 عصر
سلام
میخواستم ببینم کد یا کامپوننت یا روشی هست که
مثلا زمان لود شدن صفحه برنامه تاریخ سیستم رو چک و بشه با اینترنت سینک کرد؟؟؟

drsina
سه شنبه 13 خرداد 1393, 23:27 عصر
وقتی واژه فارسی وجود داره از سینک استفاده نکن . مگه (( همگام سازی )) بده ؟!
بعداشم کسی تنظیم با اینترنت نمی کنه ، اگر میخوای سرورتو با کامپیوتر بروز کنی ، از همون دستورات sql باید استفاده کنی و یا زمان جاری رو با یه فایل php یا asp در بیاری و اونو دانلود کنی واستفاده کنی .

اگرم که سرور نداری ، ساعت UTC را بر مبنا GMT موردنظرت به دست بیار که اونم دقیقه .
اگر هیچ کدومشم نشد ، بگرد سایت های زمان رو پبدا کن و از طریق اون بروز کن .

mohammadreza.4747
چهارشنبه 14 خرداد 1393, 00:02 صبح
وقتی واژه فارسی وجود داره از سینک استفاده نکن . مگه (( همگام سازی )) بده ؟!
بعداشم کسی تنظیم با اینترنت نمی کنه ، اگر میخوای سرورتو با کامپیوتر بروز کنی ، از همون دستورات sql باید استفاده کنی و یا زمان جاری رو با یه فایل php یا asp در بیاری و اونو دانلود کنی واستفاده کنی .

اگرم که سرور نداری ، ساعت UTC را بر مبنا GMT موردنظرت به دست بیار که اونم دقیقه .
اگر هیچ کدومشم نشد ، بگرد سایت های زمان رو پبدا کن و از طریق اون بروز کن .

ممنون از توضیح کلیتون
ولی من انقد کلی نمیخوام اگرم اومدم اینجا سوالمو مطرح کردم دنبال جوابم (کد یا کام
پوننت) البته ببخشید لاتین شد

keyone72
چهارشنبه 14 خرداد 1393, 16:11 عصر
فک کنم شما باید یه سروری داشته باشی که این منظور رو ارائه بده و شما از رو اون بخونی
مطمئن نیستم ولی سایتایی وجود دارن که این خدمت رو ارائه
خودمم تو پروژم لازم داشتم ولی دنبالش نرفتم

shahryari
چهارشنبه 14 خرداد 1393, 17:03 عصر
سلام

119874

قبلا این برنامه رو ساختم و تا العان هم با گذشت 2 سال 100% عالی و مطمئن کار میکنه...
از سایت time.ir (http://time.ir) یه رشته به تاریخ و ساعت امروز دریافت میکنم و با date time سیستم ست میکنم
فقط اون موقع کدهاشو به زبان وی بی دات نت نوشتم اگه خواستید بگید کدهاش بزارم

Pedram_Parsian
چهارشنبه 14 خرداد 1393, 18:09 عصر
سلام

119874

قبلا این برنامه رو ساختم و تا العان هم با گذشت 2 سال 100% عالی و مطمئن کار میکنه...
از سایت time.ir (http://time.ir) یه رشته به تاریخ و ساعت امروز دریافت میکنم و با date time سیستم ست میکنم
فقط اون موقع کدهاشو به زبان وی بی دات نت نوشتم اگه خواستید بگید کدهاش بزارم

دوست عزیز اگه میشه کد ها رو قرار بدین لطفا
با تشکر

mohammadreza.4747
چهارشنبه 14 خرداد 1393, 22:27 عصر
سلام
بعد از کلی جستجو بالاخره پیداش کردم
این تابع میاد طبق تایمی زونی که تنظیم کردین روی ویندوز ساعت و همچنین تاریخ رو مییگیره
و فقط یه تغییر کوچیک دادم که بیاد با مسج باکس تشون بده



public DateTime GetFastestNISTDate()
{
var result = DateTime.MinValue;


// Initialize the list of NIST time servers
// http://tf.nist.gov/tf-cgi/servers.cgi
string[] servers = new string[] {
"nist1-ny.ustiming.org",
"nist1-nj.ustiming.org",
"nist1-pa.ustiming.org",
"time-a.nist.gov",
"time-b.nist.gov",
"nist1.aol-va.symmetricom.com",
"nist1.columbiacountyga.gov",
"nist1-chi.ustiming.org",
"nist.expertsmi.com",
"nist.netservicesgroup.com"
};


// Try 5 servers in random order to spread the load
Random rnd = new Random();
foreach (string server in servers.OrderBy(s => rnd.NextDouble()).Take(5))
{
try
{
// Connect to the server (at port 13) and get the response
string serverResponse = string.Empty;
using (var reader = new StreamReader(new System.Net.Sockets.TcpClient(server, 13).GetStream()))
{
serverResponse = reader.ReadToEnd();
}
// If a response was received
if (!string.IsNullOrEmpty(serverResponse))
{
// Split the response string ("55596 11-02-14 13:54:11 00 0 0 478.1 UTC(NIST) *")
string[] tokens = serverResponse.Split(' ');


// Check the number of tokens
if (tokens.Length >= 6)
{
// Check the health status
string health = tokens[5];
if (health == "0")
{
// Get date and time parts from the server response
string[] dateParts = tokens[1].Split('-');
string[] timeParts = tokens[2].Split(':');


// Create a DateTime instance
DateTime utcDateTime = new DateTime(
Convert.ToInt32(dateParts[0]) + 2000,
Convert.ToInt32(dateParts[1]), Convert.ToInt32(dateParts[2]),
Convert.ToInt32(timeParts[0]), Convert.ToInt32(timeParts[1]),
Convert.ToInt32(timeParts[2]));


// Convert received (UTC) DateTime value to the local timezone
result = utcDateTime.ToLocalTime();
string Re = result.ToString();
MessageBox.Show(Re);
return result;

// Response successfully received; exit the loop
}
}
}
}
catch
{
// Ignore exception and try the next server
}
}
return result;
}





و باز هم http://stackoverflow.com