در JavaScript، شما نمیتوانید زمان سرور را مستقیماً تغییر دهید، زیرا JavaScript یک زبان کلاینتساید (سمت کاربر) است و دسترسی مستقیم به تنظیمات سرور ندارد. با این حال، میتوانید از روشهای زیر برای همگامسازی یا تغییر زمان برای وبسایت خود استفاده کنید تا پایان این مقاله از رادیب، با ما همراه باشید:
1. دریافت زمان سرور از طریق API و نمایش آن در وبسایت
برای اطمینان از هماهنگی زمان سرور و کلاینت، میتوانید از طریق AJAX یا Fetch API، زمان سرور را دریافت کرده و نمایش دهید.
مثال:
<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>تغییر زمان سرور</title>
</head>
<body>
<h2>زمان سرور: <span id="serverTime"></span></h2>
<script>
async function fetchServerTime() {
try {
let response = await fetch('/get-server-time');
let data = await response.json();
document.getElementById('serverTime').innerText = data.time;
} catch (error) {
console.error('خطا در دریافت زمان:', error);
}
}
setInterval(fetchServerTime, 1000); // بروزرسانی هر ثانیه
fetchServerTime();
</script>
</body>
</html>
نکته: این کد نیاز به یک API سرور دارد که زمان فعلی را در قالب JSON ارسال کند.
خرید هاست پرسرعت cPanel و DirectAdmin از رادیب، با تحویل آنی، کلیک کنید
2. شبیهسازی تغییر زمان در مرورگر کلاینت
اگر قصد دارید زمان را به صورت مصنوعی تغییر دهید (مثلاً برای نمایش منطقه زمانی دلخواه)، میتوانید از روش زیر استفاده کنید:
مثال:
<script>
function adjustClientTime(offsetHours) {
let currentDate = new Date();
currentDate.setHours(currentDate.getHours() + offsetHours);
document.getElementById('clientTime').innerText = currentDate.toLocaleString();
}
setInterval(() => adjustClientTime(3), 1000); // تغییر ۳ ساعت
</script>
<h2>زمان تنظیمشده: <span id="clientTime"></span></h2>
3. استفاده از کتابخانههای زمانبندی مانند Moment.js
کتابخانههایی مانند Moment.js و date-fns میتوانند برای مدیریت و تغییر زمان به شما کمک کنند.
خرید سرور ساعتی ابری یا تحویل آنی از رادیب، کلیک کنید
نصب Moment.js از طریق CDN:
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.4/moment.min.js"></script>
<script>
let time = moment().utcOffset(330).format('YYYY-MM-DD HH:mm:ss');
document.write("زمان تنظیمشده: " + time);
</script>
4. تنظیم منطقه زمانی روی سرور و ارسال به کلاینت
اگر سرور شما از PHP، Node.js یا Python استفاده میکند، میتوانید منطقه زمانی را روی سرور تغییر دهید و به کلاینت ارسال کنید.
مثال در PHP:
<?php
date_default_timezone_set("Asia/Tehran");
echo json_encode(["time" => date("Y-m-d H:i:s")]);
?>
سپس در JavaScript آن را دریافت و نمایش دهید.
نتیجهگیری
- برای تغییر واقعی زمان سرور باید از زبانهای بکاند مانند PHP، Node.js استفاده کنید.
- اگر هدف فقط نمایش تغییرات زمانی است، میتوانید از روشهای مبتنی بر جاوااسکریپت مانند
Date
یا کتابخانههای مربوطه بهره ببرید.
در صورت نیاز به راهنمایی بیشتر در تیکت ها با ما همراه باشید. کارشناسان رادیب به صورت 24 ساعته فعال هستند.