In front-end development, we often need to obtain the current time to perform various operations. However, one disadvantage of obtaining local time is that it is affected by the user's computer system time. If the user's computer time is incorrect, the time obtained will also be wrong. Therefore, it is sometimes necessary to obtain network time to ensure accuracy.
So how to get the network time? A common approach is to obtain the current time through the request time interface. Here, we can use jQuery to get the network time.
jQuery manual time setting method
In jQuery, we can use the following code to get the network time:
$.ajax({
url: 'http://quan.suning.com/getSysTime.do', type: 'post', dataType: 'jsonp', jsonp: 'callback', jsonpCallback: 'jsonpCallback', success: function(data){ console.log(data);//data为当前时间格式为YYYY-MM-DD HH:MM:SS,例如 2022-01-01 12:00:00 }
} );
Here we get the current time through the interface provided to Suning.com. Among them, the url parameter is the interface address; the dataType parameter is the response data type. Here we use JSONP format to obtain the data; the jsonp parameter is the name of the specified callback function, and the jsonpCallback parameter is the name of the callback function.
When the request is successful, we can get the current time data in the success callback function. Here we print the time to the console.
What if you want to set the time manually? We can use the following code:
const date = new Date('2022/01/01 12:00:00');
console.log(date);
Here we First create a Date object by passing in a Date string in the format of YYYY/MM/DD HH:MM:SS. The time we set here is 2022/01/01 12:00:00. Then just print the object to the console. If we need to get the timestamp of that time, we can use the following code:
const timeStamp = date.getTime();
console.log(timeStamp);
Here, we can Get the timestamp of the current time (the number of milliseconds from January 1, 1970 00:00:00 UTC to the current time) through the getTime method of the Date object, and then print the value to the console.
jQuery automatic time synchronization method
Although it is convenient to set the time manually, in actual applications, we prefer that the time can be automatically synchronized and continuously updated. Here, we can use the setInterval method to update the time regularly.
For example, we can use the following code:
function syncTime(){
$.ajax({ url: 'http://quan.suning.com/getSysTime.do', type: 'post', dataType: 'jsonp', jsonp: 'callback', jsonpCallback: 'jsonpCallback', success: function(data){ const date = new Date(data.replace(/-/g, '/')); $('#current-time').html(date.toLocaleString()); } });
}
//Update time every second
setInterval(syncTime, 1000);
Here, we define a syncTime method to obtain and update the time. In the success callback function, we format the returned time string, create a Date object through the new Date method, and use the toLocaleString method to convert the time into local format, and display the time in the dom with the id of current-time element.
At the end, we periodically call the syncTime method through the setInterval method to achieve the effect of automatic time synchronization.
Summary
Above, we introduced jQuery’s method of obtaining network time, as well as the method of manually setting the time and automatically synchronizing the time. In practical applications, we need to choose the appropriate method according to the specific situation to ensure the accuracy of the time.
The above is the detailed content of How to set network time in jquery. For more information, please follow other related articles on the PHP Chinese website!