امروز ممکن است وب‌سایت ساعاتی از دسترس خارج شود یا با اختلال مواجه شود؛ پیشاپیش از صبر و شکیبایی شما سپاسگزاریم.
پرسش

چطور تاریخ و زمان حال رو در جاوااسکریپت به دست بیارم؟

Getting current date and time in JavaScript

من یک اسکریپت دارم که تاریخ و زمان فعلی رو در جاوااسکریپت چاپ می‌کنه، اما تاریخ همیشه اشتباهه.

کد من به این شکل است:

var currentdate = new Date();
var datetime = "Last Sync: " + currentdate.getDay() + "/" + currentdate.getMonth() + "/" + currentdate.getFullYear() + " @ " + currentdate.getHours() + ":" + currentdate.getMinutes() + ":" + currentdate.getSeconds();

باید 18/04/2012 15:07:33 چاپ بشه اما نتیجه 3/3/2012 15:07:33 هست.
مشکل چیه؟

1403/06/06
پاسخ
محمدامین سعیدی راد توسعه دهنده استک MERN
بیوگرافی محمدامین سعیدی راد

مشکل اینجاست که از متد .getDay() برای دریافت روز استفاده کردی که روز هفته (0 تا 6) رو برمی‌گردونه، نه روز ماه. همچنین، متد .getMonth() ماه رو به‌صورت صفر مبنا برمی‌گردونه (یعنی ژانویه 0 است)، بنابراین باید 1 بهش اضافه کنی. کد اصلاح شده به این شکله :

var currentdate = new Date();
var datetime = "Last Sync: " + currentdate.getDate() + "/" + (currentdate.getMonth() + 1) + "/" + currentdate.getFullYear() + " @ " + currentdate.getHours() + ":" + currentdate.getMinutes() + ":" + currentdate.getSeconds();

همچنین می‌تونی برای نمایش تاریخ و زمان به‌صورت حرفه‌ای‌تر، از متدهای toLocaleDateString و toLocaleTimeString استفاده کنی:

var currentdate = new Date();
var datetime = "Last Sync: " + currentdate.toLocaleDateString() + " @ " + currentdate.toLocaleTimeString();

این روش‌ها به صورت خودکار تاریخ و زمان را بر اساس تنظیمات محلی سیستم نمایش می‌دن.

پاسخ: 1403/06/06
آخرین آپدیت: 1403/08/12