آگهی
article

کار با تاریخ و زمان در جاوا اسکریپت (JavaScript)

javascript-date-time

تاریخ و زمان، از جمله مباحث پرکاربرد و چالش های همیشگی در زبان های برنامه نویسی و به طور خاص در برنامه نویسی وب (php، asp، javascript و...) است، به خصوص برای کسانی که از تاریخی به جزء تاریخ میلادی استفاده می کنند (مانند ما کاربران فارسی زبان)، مشکل از این نیز پیچیده تر می شود، چرا که ناچاریم تاریخ میلادی را به شمسی تبدیل کنیم که خود به محاسبات دقیق و پیچیده نیاز دارد، از طرفی همان طور که پیش از این گفته ایم، جاوا اسکریپت یک زبان سمت کاربر (Client-side) است، بدین معنی که کدهای شما تنها در مرورگر کاربران قابل اجرا است و لذا تنظیمات آن نیز به مرورگر و به تبع به سیستم عامل کاربر وابسطه است (که خود معایب و مزایایی دارد)، به هر صورت آشنایی با نحوه کار توابع مربوط به تاریخ و زمان در جاوا اسکریپت، جهت تسلط بیشتر بر این زبان، جزء جدایی ناپذیر از آموزش های مقدماتی است و لذا در این مطلب می خواهیم به آن بپردازیم.

توابع نمایش تاریخ و زمان در جاوا اسکریپت


برای نمایش یک تاریخ در جاوا اسکریپت ابتدا باید یک شی (object) با استفاده از Date در کد خود ایجاد کنیم (این شی به صورت از پیش تعریف شده یا built-in در مفسر جاوا اسکریپت وجود دارد)، به طور مثال:
<script type="text/javascript">
var now =  new Date();
alert(now);
</script>
خروجی کد بالا به صورت نمونه زیر خواهد بود.
Sun Jan 20 2013 13:45:58 GMT+0330 (Iran Standard Time)
اکنون متغیر فرضی now می تواند از توابع نمونه و از پیش تعریف شده شی Date استفاده کند، تعداد و کاربرد این توابع متنوع است که در زیر به اختصار به مهم ترین آنها اشاره می کنیم.

تابع getdate


از تابع getdate برای بدست آوردن روز به صورت عددی (بین 1 تا 31) استفاده می شود، به طور مثال:
<script type="text/javascript">
var now =  new Date();
var day = now.getDate();
alert(day);
</script>
خروجی کد بالا به صورت نمونه زیر خواهد بود.
20

تابع getDay


از تابع getDay برای بدست آوردن روز معین از روزهای هفته به صورت عددی (بین 0 تا 6) کاربرد دارد، به طور مثال:
<script type="text/javascript">
var now =  new Date();
var day = now.getDay();
alert(day);
</script>
خروجی کد بالا به صورت نمونه زیر خواهد بود.
0

تابع getFullYear


از تابع getFullYear برای بدست آوردن سال های میلادی به صورت عدد چهار رقمی استفاده می شود، به طور مثال:
<script type="text/javascript">
var now =  new Date();
var full_year = now.getFullYear();
alert(full_year);
</script>
خروجی کد بالا به صورت نمونه زیر خواهد بود.
2013

تابع getHours


از تابع getHours برای بدست آوردن ساعت فعلی سیستم (به صورت عدد دو رقمی) استفاده می شود، به طور مثال:
<script type="text/javascript">
var now =  new Date();
var hour = now.getHours();
alert(hour);
</script>
خروجی کد بالا به صورت نمونه زیر خواهد بود.
13

تابع getMilliseconds


از تابع getMilliseconds برای بدست آوردن هزارم ثانیه از زمان فعلی (زمان موجود در شی Date) استفاده می شود، به طور مثال:
<script type="text/javascript">
var now =  new Date();
var millisecond = now.getMilliseconds();
alert(millisecond);
</script>
خروجی کد بالا به صورت نمونه زیر خواهد بود.
937

تابع getMinutes


از تابع getMinutes برای بدست آوردن دقیقه (بین عدد 1 تا 60) استفاده می شود، به طور مثال:
<script type="text/javascript">
var now =  new Date();
var minute = now.getMinutes();
alert(minute);
</script>
خروجی کد بالا به صورت نمونه زیر خواهد بود.
45

تابع getMonth


از تابع getMonth برای بدست آوردن ماه (بین اعداد 0 تا 11) استفاده می شود، به طور مثال:
<script type="text/javascript">
var now =  new Date();
var month = now.getMonth();
alert(month);
</script>
خروجی کد بالا به صورت نمونه زیر خواهد بود.
0

تابع getSeconds


از تابع getSeconds برای بدست آوردن ثانیه (بین 0 تا 60) استفاده می شود، به طور مثال:
<script type="text/javascript">
var now =  new Date();
var second = now.getSeconds();
alert(second);
</script>
خروجی کد بالا به صورت نمونه زیر خواهد بود.
58

تابع getTime


از تابع getTime برای بدست آوردن مدت زمان به میلی ثانیه از نیمه شب اول ژانويه سال 1970 میلادی استفاده می شود (این عدد یک تاریخ قراردادی تعریف شده در Unix time است، در واقع این زمان مشخص کننده مدت میلی ثانیه سپری شده از شروع ساعت هماهنگ جهانی یا  Coordinated Universal Time (به اختصار  UTC یا POSIX) است، به طور مثال:
<script type="text/javascript">
var now =  new Date();
var since_1970 = now.getTime();
alert(since_1970);
</script>
خروجی کد بالا به صورت نمونه زیر خواهد بود.
1358681328943

تابع getTimezoneOffset


از تابع getTimezoneOffset برای بدست آوردن اختلاف زمانی به دقیقه از GMT استفاده می شود، به طور مثال:
<script type="text/javascript">
var now =  new Date();
var time_zone = now.getTimezoneOffset();
alert(time_zone);
</script>
خروجی کد بالا به صورت نمونه زیر خواهد بود.
-210
نکته 1: خروجی تابع getTimezoneOffset برای زمان های محلی که اختلاف آنها نسبت به GMT مثبت باشد (مانند 3:30 برای ایران)، عدد منفی خواهد بود و بالعکس برای زمان های محلی که اختلاف آنها نسب به GMT منفی باشد، عدد مثبت خواهد بود.
نکته 2: توابعی که در بالا بررسی کردیم، به صورت استاندارد UTC یا ساعت هماهنگ جهانی نیز قابل استفاده هستند، لذا اگر ساعت محلی سیستم عامل با ساعت UTC برابر نباشد (اختلاف زمانی وجود داشته باشد)، استفاده یا عدم استفاده از UTC نیز نتیجه متفاوت خواهد داشت (در صورت استفاده، زمان دریافتی بر اساس استاندار UTC خواهد بود نه الزاما زمان سیستم عامل).

توابع تنظیم تاریخ و زمان در جاوا اسکریپت


در کنار توابعی که برای نمایش تاریخ و زمان در جاوا اسکریپت وجود دارد، می توان از سری دیگری از توابع هم خانوده آنها جهت اعمال تغییرات در تاریخ و زمان استفاده کرد، این توابع که با عبارت set شروع می شوند را در ادامه برسی می کنیم.

تابع setDate


از تابع setDate برای تغییر روز (بین 1 تا 31) از تاریخ مورد نظر استفاده می شود، به طور مثال:
<script type="text/javascript">
var now =  new Date();
now.setDate(22);
day = now.getDate();
alert(day);
</script>
خروجی کد بالا به صورت زیر خواهد بود.
22

تابع setFullYear


از تابع setFullYear برای تنظیم سال به صورت عدد چهار رقمی استفاده می شود، به طورر مثال:
<script type="text/javascript">
var now =  new Date();
now.setFullYear(2000);
full_year = now.getFullYear();
alert(full_year);
</script>
خروجی کد بالا به صورت زیر خواهد بود.
2000

تابع setHours


از تابع setHours برای تنظیم ساعت (بین 0 تا 23) استفاده می شود، به طور مثال:
<script type="text/javascript">
var now =  new Date();
now.setHours(14);
hour = now.getHours();
alert(hour);
</script>
خروجی کد بالا به صورت زیر خواهد بود.
14

تابع setMilliseconds


از تابع setMilliseconds برای تنظیم زمان به هزارم ثانیه (بین 0 تا 999) استفاده می شود، به طور مثال:
<script type="text/javascript">
var now =  new Date();
now.setMilliseconds(556);
millisecond = now.getMilliseconds();
alert(millisecond);
</script>
خروجی کد بالا به صورت زیر خواهد بود.
556

تابع setMinutes


از تابع setMinutes برای تنظیم دقیقه (بین عدد 1 تا 60) استفاده می شود، به طور مثال:
<script type="text/javascript">
var now =  new Date();
now.setMinutes(23);
minute = now.getMinutes();
alert(minute);
</script>
خروجی کد بالا به شکل زیر خواهد بود.
23

تابع setMonth


از تابع setMonth برای تنظیم یک ماه (بین اعداد 0 تا 11) استفاده می شود، به طور مثال:
<script type="text/javascript">
var now =  new Date();
now.setMonth(0);
month = now.getMonth();
alert(month);
</script>
خروجی کد بالا به صورت زیر خواهد بود.
0

تابع setSeconds


از تابع setSeconds برای تنظیم زمان به ثانیه (بین اعداد 0 تا 60) استفاده می شود، به طور مثال:
<script type="text/javascript">
var now =  new Date();
now.setSeconds(33);
second = now.getSeconds();
alert(second);
</script>
خروجی کد بالا به صورت زیر خواهد بود.
33

تابع setTime


از تابع setTime برای تنظیم زمان به صورت میلی ثانیه از نیمه شب اول ژانويه سال 1970 میلادی (زمان به صورت Unix) استفاده می شود، به طور مثال:
<script type="text/javascript">
var now =  new Date();
now.setTime(1358681325766);
time = now.getTime();
alert(time);
</script>
خروجی کد بالا به صورت زیر خواهد بود.
1358681325766
نکته: به جزء تابع setTime، سایر توابع مربوط به set بر اساس استاندارد UTC نیز قابل استفاده هستند.

نمایش تاریخ و زمان به صورت فرمت بندی شده در جاوا اسکریپت


در پایان این آموزش بد نیست نگاهی داشته باشیم به توابع مربوط به فرمت بندی و نمایش تاریخ و زمان در جاوا اسکریپت، البته همان طور که پیش از این عنوان شد، این توابع از پیش تعریف شده منطبق با تاریخ میلادی هستند و لذا برای سایر موارد باید کلاس ها و توابعی مجزا و مستقل نوشت، به هر صورت لیستی از این توابع و نمونه خروجی آنها را در زیر ملاحظه می کنید.
تابع toDateString - نمونه خروجی: Thu Jan 24 2013
تابع toLocaleDateString - نمونه خروجی: Thursday, January 24, 2013
تابع toLocaleFormat - نمونه خروجی: Thursday, January 24, 2013 10:01:15 PM
تابع toLocaleString - نمونه خروجی: Thursday, January 24, 2013 10:02:12 PM
تابع toLocaleTimeString - نمونه خروجی: 10:03:56 PM
تابع toString - نمونه خروجی: Thu Jan 24 2013 22:16:49 GMT+0330 Iran Standard Time
تابع toTimeString - نمونه خروجی: 22:18:04 GMT+0330 Iran Standard Time

مثال و پیش نمایش آنلاین


در زیر می توانید مثالی از کاربرد تاریخ و زمان در جاوا اسکریپت و پیش آنلاین آن را ملاحظه و بررسی نمائید.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>وبگو | date و time در جاوا اسکریپت</title>
<!-- https://webgoo.ir -->
<style type="text/css">
body{
    font-family:Tahoma, Geneva, sans-serif;
    font-size:12px;
    direction:rtl;
}
#date{
    direction:ltr;
}
</style>
<script type="text/javascript">
function RefreshDate(){
    var refresh_date = setTimeout('ShowDate();', 1000);
}
function ShowDate(){
    var now =  new Date();
    var show = document.getElementById('date').innerHTML = now;
    var refresh_date = RefreshDate();
}
</script>
</head>
<body onload="ShowDate();">
<noscript>جاوا اسکریپت در مرورگر شما غیرفعال است یا پشتیبانی نمی شود.</noscript>
<div id="date"></div>
<hr>
با استفاده از Date و setTimeout می توان تاریخ و زمان را به صورت داینامیک نمایش داد.
</body>
</html>
پیش نمایش
sectionدسته بندی: آموزش مقدماتی » JavaScript
related مطالب بیشتر:
» دستورات شرطی (Conditional Statements) در جاوا اسکریپت (JavaScript)
» دستور switch و case در جاوا اسکریپت (JavaScript)
» کار با متد getElementById و innerHTML در جاوا اسکریپت (JavaScript)
» آرایه (Array) در جاوا اسکریپت (JavaScript)
» عملگرها (Operators) در جاوا اسکریپت (JavaScript)
commentنظرات (۵۰ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: رضا
زمان: ۱۵:۱۹:۱۹ - تاریخ: ۱۳۹۲/۰۵/۱۵
دستت درد نكنه خيلي عالي بود
نویسنده: یحیی
زمان: ۱۲:۵۲:۰۸ - تاریخ: ۱۳۹۲/۰۵/۲۰
با سلام
من می خواهم برای یک آزمون زمان باقیمانده آزمون را به صورت معکوس نمایش دهم. مثلا زمان آزمون را ابتدا دریافت کرده و به صورت معکوس ثانیه شماری کند.
لطفا راهنمایی کنید
پاسخ: 
سلام
برای نمایش زمان به صورت معکوس، می توانید از نمونه کد زیر استفاده کنید:
<script type="text/javascript">
//تنظیم تاریخ پایان
var finish = new Date("Sep 1 2013 00:00:00");
var now = new Date();
var seconds = (finish - now) / 1000;
var minutes = seconds / 60;
var hours = minutes / 60;
var days = hours / 24;
id = window.setTimeout("UpdateDate();", 1000);
function UpdateDate(){
now = new Date();
seconds = (finish - now) / 1000;
seconds = Math.round(seconds);
minutes = seconds / 60;
minutes = Math.round(minutes);
hours = minutes / 60;
hours = Math.round(hours);
days = hours / 24;
days = Math.round(days);

//چاپ خروجی
document.form_name.days.value = days;
document.form_name.hours.value = hours;
document.form_name.minutes.value = minutes;
document.form_name.seconds.value = seconds;

id = window.setTimeout("UpdateDate();",1000);
}
</script>
<form name="form_name">
روز <input type="text" name="days" value="0" size="3"><br>
ساعت <input type="text" name="hours" value="0" size="4"><br>
دقیقه <input type="text" name="minutes" value="0" size="7"><br>
ثانیه <input type="text" name="seconds" value="0" size="7"><br>
</form>
نویسنده: یحیی
زمان: ۱۹:۴۳:۳۹ - تاریخ: ۱۳۹۲/۰۵/۲۱
با سلام
من در حال طراحی یک آزمون هستم. در آزمون برای کل آزمون یک زمان کلی دارم که به حالت معکوس به نمایش در می آید. برای هر سوال هم یک زمان پیشنهادی دارم که به محض نمایش شروع می شود و به صورت معکوس نمایش داده می شود. حال دو سوال
1- می خواهم هنگامی که زمان کلی آزمون به پایان رسید، آزمون پایان یافته و نتیجه نمایش داده شود. برای این منظور یک دکمه پایان آزمون در کد موجود است. چگونه می توانم با پایان یافتن زمان، آزمون به پایان برسد.
2- برای هر سوال زمان معکوس نمایش داده می شود حال مشکل اینجاست که اگر آزمون دهنده از سوال 1 به سوال بعد رفته و برگردد زمان معکوس از ادامه زمان قبلی شروع نمی شود. چگونه می توان با رفتن آزمون دهنده به یک سوال دیگر زمان ذخیره شود و با برگشت به همان سوال زمان قبلی ادامه یابد.
کد زمان کلی آزمون:
function duration(mins) {
var secs=mins*60;
var hrs = Math.floor(secs / 3600);
var mins = Math.floor(secs / 60) - (hrs * 60);
var secs = secs - (hrs * 3600) - (mins * 60);
if (hrs > 0 || mins > 0 || secs > 0) {
timerVar = setInterval(function () {
if (secs > 0) //time is less than a minute
{
displayTime(hrs, mins, secs--);
}
else if (secs == 0 && mins > 0) {

displayTime(hrs, mins = mins - 1, secs = secs + 59);
}
else if (secs == 0 && mins == 0 && hrs > 0) {
displayTime(hrs--, mins = mins + 59, secs = secs + 59);
}
else if (secs == 0 && mins == 0 && hrs == 0) {
clearTimeout(timerVar);
displayTime(0, 0, 0);
}
}, 1000);
}
else {
displayTime(0, 0, 0);
}
}


function displayTime(hrs, mins, secs) {
if (secs > 0 || hrs > 0 || mins > 0) {
if (secs < 10 ) secs = "0" + secs;
if (mins < 10) mins = "0" + mins;
if (hrs > 0){
document.getElementById("hour").innerHTML = hrs+ ":" ;
}
if(mins > 0 ){
document.getElementById("min").innerHTML =mins+ ":" ;
}
document.getElementById("sec").innerHTML = secs;
}
}

و کد زمان هر سوال
var mins = Math.floor(secs / 60);
var secs = secs - (mins * 60);
if (mins > 0 || secs > 0) {
timerV = setInterval(function () {
if (secs >= 0) {
if (secs > 0) {
showTime(mins, secs = secs - 1, divmin, divsec);
}
else if(secs == 0 && mins > 0){
showTime(mins = mins - 1, secs = secs + 59, divmin, divsec);
}
else if (secs == 0 && mins == 0){
showTime(mins , secs--, divmin, divsec);
}
else {
showTime(mins , secs--, divmin, divsec);
}
}
else if (secs < 0 ) {
if (secs == -60){
showTime(mins = mins - 1, secs =secs + 60, divmin, divsec );
}
else {
showTime(mins, secs--, divmin, divsec );
}
}
}, 1000);
}
else {
showTime(0, 0, divmin, divsec);
}
}

function showTime(mins, secs, divm, divs) {
if(secs > 0 || secs == 0) {
if (secs < 10 && secs > -1) {
secs = "0" + secs;
}
document.getElementById(divm).innerHTML =mins+ ":" ;
document.getElementById(divs).innerHTML =secs ;
}
else if (secs < 0) {
negsec = secs + (-2*secs);
negmin = mins + (-2*mins);
document.getElementById(divm).innerHTML ="- " +negmin+ ":" ;
document.getElementById(divs).innerHTML =negsec ;
}
}
از زحمات شما متشکرم.
پاسخ: 
سلام
در مورد پاسخ سوال شما، نمی توانیم تمام کدها را برایتان بنویسیم و در واقع پروژه را انجام دهیم! راهنمایی ما می تواند این باشد که باید در کنار جاوا اسکریپت از آژاکس (Ajax) و PHP استفاده کنید، اطلاعات اصلی را در سرور و در دیتابیس نگهداری کنید، چون یک زبان اسکریپت نویسی سمت کاربر (JavaScript) به تنهایی نمی تواند قابل اتکا باشد، نکته دوم اینکه نوشتن برنامه های کاربردی نسبتا پیچیده به داشتن تجربه و مهارت بالاتری نیاز دارد، در غیر این صورت باید از مقدمات و پروژه های کوچک تر شروع کنید تا به این مرحله برسید.
نویسنده: hamid
زمان: ۱۰:۰۹:۴۳ - تاریخ: ۱۳۹۲/۰۶/۰۹
سلام. از مطالب آموزنده تون خیلی ممنون. دستتون درد نکنه.
من یه کد جاوا اسکریپت برای نمایش روزهای هفته دارم می خواستم که برام توضیح بدین این اعداد که ورودی آرایه شده چیه؟
<script type="text/javascript">
var d=new Date();
var weekday=new Array(7);
weekday[0]="&#1740;&#1705;&#1588;&#1606;&#1576;&#1607;";
weekday[1]="&#1583;&#1608;&#1588;&#1606;&#1576;&#1607;";
weekday[2]="&#1587;&#1607; &#1588;&#1606;&#1576;&#1607;";
weekday[3]="&#1670;&#1607;&#1575;&#1585;&#1588;&#1606;&#1576;&#1607;";
weekday[4]="&#1662;&#1606;&#1580; &#1588;&#1606;&#1576;&#1607;";
weekday[5]="&#1580;&#1605;&#1593;&#1607;";
weekday[6]="&#1588;&#1606;&#1576;&#1607;";
document.write("&#1575;&#1605;&#1585;&#1608;&#1586; " + weekday[d.getDay()]);
</script>
پاسخ: 
سلام
این عددها در واقع کلمات (حروف) بر مبنای استاندارد UNICODE (به صورت decimal یا اعداد بر مبنای 128 بیت) هستنn.
به طور مثال عبارت
&#1740;
نمایانگر حرف ی در استاندارد یونیکد است.
نویسنده: مصطفی
زمان: ۱۰:۳۹:۳۰ - تاریخ: ۱۳۹۲/۰۷/۱۶
سلام
می خواستم اگه ممکنه یه توضیح مختصر درباره ی کوکی ها بدید و اینکه ایا کوکی ها در سمت سرویس گیرنده طراحی می شوند یا سمت سرویس دهنده
پاسخ: 
سلام
به طور مختصر کوکی به فایل های (معمولا خیلی کم حجم) اطلاق می شود که صفحات وب برای ذخیره و شناسایی پاره ای از اطلاعات (به فرض تعداد بازدیدها، شناسایی کاربران مختلف از هم، ذخیره موقت تنظیمات و...) در کامپیوتر و در واقع در مرورگر کاربران می سازند (ساخت کوکی هم می تواند با جاوا اسکریپت و در سمت کاربر باشد و هم با PHP و در سمت سرور، اما نتیجه نهایی در مرورگر ذخیره و نگهداری می شود)، هنگامی که کاربر مجدد همان صفحه را فراخوانی می کند، مرورگر به صورت خودکار اطلاعات کوکی را به سرور می فرستد (اطلاعات کوکی با استفاده از زبان هایی مانند جاوا اسکریپت، PHP و... مجددا قابل استفاده و ویرایش است).
نویسنده: مصطفی
زمان: ۱۷:۵۷:۵۱ - تاریخ: ۱۳۹۲/۰۹/۱۳
سلام و خسته نباشید
من می خوام یه عدد از سوی کاربر بگیرم و اون رو با زمان فعلی جمع کنم و زمان نهایی رو نشون بدم مثلا اگه الان ساعت 9 هست و عدد 70 رو از کاربر گرفتیم ساعت 9 و 1 دقیقه و 10 ثانیه نمایش داده بشه. ممنون
پاسخ: 
سلام
می توانید از نمونه کد زیر استفاده کنید:
<script type="text/javascript">
var NowDate = new Date();
alert(NowDate);
UpdateDate = new Date(NowDate.setSeconds(70, 0));
alert(UpdateDate);
</script>
برای کسب اطلاعات بیشتر آموزش حاضر را مطالعه یا در این رابطه در وب جستجو کنید.
نویسنده: مصطفی
زمان: ۰۲:۱۶:۳۵ - تاریخ: ۱۳۹۲/۰۹/۱۶
ممنون تونستم انجامش دادم ولی جاوا اسکریپت زمان رو با زمان سیستم کاربر ست میکنه میشه چنین کاری رو درون php یا mysql انجام داد که زمان سرور حساب بشه؟ اگه توضیح بدید ممنون میشم
پاسخ: 
در کل این کار چه با جاوا اسکریپت و چه در PHP امکانپذیر است، منتها باید با توابع مربوط به کار با تاریخ و زمان آشنا باشید که خود مبحثی جداگانه و مفصل است، اما یک راه حل ساده تر این است که زمان سرور را به عنوان آرگومان به جاوا اسکریپت بدهید، مثال:
var date = new Date(<?php echo date('y, n, j, G, i, s'); ?>);
نکته: قاعدتا فایل شما باید با فرمت php باشد.
نویسنده: محمدحسین
زمان: ۱۸:۴۲:۵۵ - تاریخ: ۱۳۹۲/۱۰/۱۲
سلام خسته نباشید!
من این کد رو برای نمایش تاریخ و زمان نوشتم:
function funTime()
{
var Time = new Date ();
var H = Time.getHours();
var M = Time.getMinutes();
var S = Time.getSeconds();
var Clock =H + ":" + M + ":" + S;
document.write ("سـاعت: " + Clock);
var refresh_date = setTimeout('funTime();', 1000);
}
اما چندتا مشکل دارم؛ یک این که در حال اجرا زمان تغییری نمیکنه و باید صفحه ریفرش شه تا تغییر کنه!
و دوم اینکه زمان نمایش داده شده، با زمان سیستم هماهنگ میشه اگه بخوام با سرور هماهنگ شه باید چیکار کنم؟
ممنون میشم از دوست عزیز
پاسخ: 
سلام
برای مورد اول باید از setTimeout استفاده کنید (نمونه در پیش نمایش آموزش حاضر وجود دارد)، برای مورد دوم نیز باید به Date با PHP مقادیر اولیه اختصاص دهید، مثال:
var date = new Date(<?php echo date('y, n, j, G, i, s'); ?>);
نویسنده: محمدحسین
زمان: ۱۵:۵۹:۴۳ - تاریخ: ۱۳۹۲/۱۰/۱۳
من این کار رو میکنم و زمان تغییر میکنه اما کل اطلاعات صفحه پاک میشه و فقط ساعت رو نمایش میده و به اون اضافه میشه و مقدار بعدی رو نمایش میده اینجوری:
3:58:23 3:58:24 3:58:25
...؟!
پاسخ: 
باید با نحوه کار متد innerHTML در جاوا اسکریپت آشنا باشید، بدون آشنایی مقدماتی خیلی نمی توان راهنمایی خاصی کرد.
نویسنده: محمدحسین
زمان: ۱۸:۰۰:۲۴ - تاریخ: ۱۳۹۲/۱۰/۱۳
همین که وقت گذاشتید کلی لطف کردید ممنون
نویسنده: مهدی صفری
زمان: ۲۰:۱۷:۰۰ - تاریخ: ۱۳۹۲/۱۰/۱۹
سلام
می خواستم بدانم چگونه می شود برای عملیات زیر عدد دقیقی به دست اورد
تاریخ ثبت مطلب - تاریخ امروز
10/23/2014 - 10/24/2014
منظورم این است که مثلا اگه جواب عملیات بالا عدد 3 آمد یعنی تاریخ ثبت این مطلب برای 1 روز پیش است
با تشکر
پاسخ: 
سلام
با توجه به فرمت فعلی تاریخ ارائه شده، می توانید از تابع زیر برای بدست آوردن اختلاف دو زمان متفاوت بر حسب تعداد روز استفاده کنید:
<script type="text/javascript">
function compareDate(date_1, date_2){
var date_1_split = date_1.split('/');
var date_1_year = date_1_split[2];
var date_1_month = date_1_split[0];
var date_1_day = date_1_split[1];

var date_2_split = date_2.split('/');
var date_2_year = date_2_split[2];
var date_2_month = date_2_split[0];
var date_2_day = date_2_split[1];

//ساعت * دقیقه * ثانیه * میلی ثانیه
var one_day = 24 * 60 * 60 * 1000;

var date_1_new = new Date(date_1_year + ',' + date_1_month + ',' + date_1_day);
var date_2_new = new Date(date_2_year + ',' + date_2_month + ',' + date_2_day);

var diffrence = Math.round(Math.abs((date_1_new.getTime() - date_2_new.getTime()) / (one_day)));

return diffrence;
}
alert(compareDate('10/23/2014', '10/24/2014'));
</script>
نویسنده: مهدی صفری
زمان: ۱۵:۲۴:۱۰ - تاریخ: ۱۳۹۲/۱۱/۱۹
سلام
این مطالبی که برای تاریخ و زمان در جاوا اسکریپت گفتید بر اساس ساعت و تاریخ رایانه تنظیم میشه
حالا اگه ساعت رایانه شما درست باشه اون درسته و اگر درست نباشه نادرسته
پاسخ: 
سلام
خاصیت جاوا اسکریپت سمت کاربر بودن آن است، البته با کمی آشنایی با PHP می توانید برای شی Date، آرگومان های اولیه (مقادیر تاریخ اولیه) تعیین کنید تا نمایش تاریخ و زمان از زمان سرور محاسبه شود.
نویسنده: نسرین
زمان: ۱۰:۵۲:۰۷ - تاریخ: ۱۳۹۳/۰۱/۰۴
سلام من این کد را نوشتم برای اینکه متوقفش کنم باید چه کارکنم؟
<script>
var c=0;
var t;
var timer_is_on=0;

function timedCount()
{
document.getElementById('txt').value=c;
c=c+1;
t=setTimeout("timedCount()",1000);
}

function doTimer()
{
if (!timer_is_on)
{
timer_is_on=1;
timedCount();
}
}
</script>
<form>
<input type="button" value="Start count!" onClick="doTimer()">
<input type="text" id="txt">
</form>
پاسخ: 
سلام
برای متوقف کردن متد setTimeout، متغیر مربوط به آن را به متد clearTimeout بدهید، مثال:
clearTimeout(var);
نویسنده: لیلا
زمان: ۱۵:۳۴:۵۹ - تاریخ: ۱۳۹۳/۰۲/۱۲
سلام. ممنون از سایت خوبتون
یه راهنمایی میخواستم واسه نوشتن اسکریپتی که تاریخ امروز رو بگیره و تاریخ فردا رو نشون بده
پاسخ: 
سلام
می توانید با PHP این کار را به راحتی انجام دهید، منتها باید با توابع مربوط به تاریخ و زمان آشنایی قبلی داشته باشید، لطفا برای کسب اطلاعات بیشتر عبارت "تاریخ" را در قسمت جستجوی سایت یا عبارت "تبدیل تاریخ میلادی به شمسی با مبدل jdf" را در وب جستجو کنید.
نویسنده: محسن
زمان: ۲۱:۰۷:۱۲ - تاریخ: ۱۳۹۳/۰۳/۲۹
با عرض سلام و خسته نباشید.
من یک برنامه با php نوشتم و یک سری اطلاعات مثل نام کالا، قیمت و تعداد و تاریخ خرید و ... رو از یوزر میگیرم.
میخوام فیلد تاریخ وقتی که رو فیلدش کلیک می شه به طور اتوماتیک تاریخ و ساعت جاری سیستم رو درج کنه و در دیتابیس ذخیره بشه.
چطور میتونم این کار رو بکنم؟؟؟
پاسخ: 
سلام
لطفا سعی کنید بخشی از کدها را خودتان بنویسید و اگر در مورد جزئی دچار اشکال بودید، سوالتان را با ارائه نمونه کد مطرح کنید، سوال مطرح شده کلی است و پاسخ به آن نیاز به طرح مباحث مقدماتی دارد که در جای خود آموزش داده شده است! به طور خلاصه باید دانش جاوا اسکریپت در حد متوسط داشته باشید، با نحوه کار تاریخ در PHP و MySQL نیز آشنا باشید.
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- مواردی که به کلی خارج از موضوع این مطلب هستند را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم، غیرضروری و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ کوتاه و مختصر داده خواهد شد!
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- تمام یادداشت ها بررسی و برای هر کاربر زمان مشخصی جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.





9 × 3
 refresh
آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
form مهدی
در:
سلام من از کد زیر استفاده کردم ولی وقتی که اعمال میشه کل css های سایتم میپره.. چه باید بکنم
۰۹:۵۵:۵۰ ۱۳۹۹/۰۴/۲۳

form سلماسی
در:
سلام ایا اگر از وبسایت شخصی کسی بازدید کنیم صاحب وبسایت شماره ی ما را می بیند
۲۱:۳۱:۵۳ ۱۳۹۹/۰۴/۲۲

form mahdi
در:
سلام استاد اگه براتون زحمتی نیست یه نگاه دیگه بهش بندازید ، الان ریموو ادیت درست هستن فقط برای نمایش کلیشون که وقتی رفرش میکنیم...
۱۹:۱۳:۱۵ ۱۳۹۹/۰۴/۲۲

form mahdi
در:
سلام استاد عزیز ، میتونید یه نمونه که فقط با جاوا اسکریپت کار شده نه با فریمورکاش بهم معرفی کنید ببینم؟ من هرچی گشتم پیدا...
۱۴:۴۶:۲۴ ۱۳۹۹/۰۴/۲۲

form mahdi
در:
سلام استاد عزیز و گرامی ، یه دفتر چه یادداشت با localstorage میخوام بنویسم ولی مشکل دارم، دو تا سوال دارم ممنون میشم راهنماییم...
۱۲:۰۵:۰۷ ۱۳۹۹/۰۴/۲۲

form اریا
در:
سلام و درود بزرگوار چه دستوری باید بنویسیم تا فقط مقدارهای خاصی از ارایه بتونیم نمایش بدیم. مثلا یک ارایه 6 خونه ای...
۱۶:۴۷:۳۱ ۱۳۹۹/۰۴/۲۰

form کافه کتاب
در:
سپاس خیلی وقت بود دنبالش بودم مرسی از سایت عالیتون
۱۴:۵۱:۴۳ ۱۳۹۹/۰۴/۲۰

form سجاد
در:
دمتون گرم. خیلی زحمت کشیدید
۱۳:۴۳:۱۱ ۱۳۹۹/۰۴/۲۰

form KhashayarPrk
در:
سلام. میخوام الگو تمام کلمات داخل پرانتز رو بدون پرانتز بریزه ارایه با این کد فقط یک پرانتز رو جواب میده.
۱۳:۱۳:۴۷ ۱۳۹۹/۰۴/۲۰

form Oliver
در:
چطوری دستور background رو برای جدلمون عکسش رو تنظیم کنیم و بهش طول و عرض بدیم
۱۶:۰۷:۱۷ ۱۳۹۹/۰۴/۱۸

form محمد
در:
با عرض سلام ببخشید چطوری میتونم واسه اشتراک کاربر انقضا بزارم مثلا یک ماه داخل دیتابیس ردیف تایم رو درست کردم البته تاریخ رو تبدیل...
۱۹:۱۴:۵۹ ۱۳۹۹/۰۴/۱۵

form آیدا
در:
سلام من در حال طراحی با html هستم اما طبق فیلم آموزشی پیش میرم از یه جایی به بعد هم تغییرات اعمال نمیشه...
۲۲:۴۷:۴۴ ۱۳۹۹/۰۴/۱۴

form علی
در:
سلام اگه میشه یه تکه کدی بفرستید که کاربر نتونه عکس مورد نظر رو دانلود کنه و با نگه داشتن روی عکس فقط لینکو ببینه...
۰۹:۳۰:۴۹ ۱۳۹۹/۰۴/۱۴

form sina2000
در:
با سلام و خسته نباشید طبق کد زیر استفاده میگه متغیر Pdc برای PDO است لطفا نمونه کد برای لایبرری...
۱۵:۰۳:۵۱ ۱۳۹۹/۰۴/۱۳

form محمد امین
در:
سلام ممنون از مطلبتون ببخشید من یه سایتی با شی گرایی کامل زدم الان میخوام آدرسشو بهینه کنم آدرس الان من به این صورته:...
۱۸:۲۸:۲۴ ۱۳۹۹/۰۴/۱۱
form ترنم
در:
سلام وقتتون بخیر ببخشید من کدهای مربوط منو و زیر منو رو نوشتم ولی موقع اجرا منوی اصلی رو میاره ولی زیر منوها رو...
۱۱:۰۶:۲۹ ۱۳۹۹/۰۴/۱۱
form ا
در:
سلام چرا وقتی مطالب مربوط که تو وبلاگم هست رو جستجو میکنم نمیاره ؟؟؟
۲۰:۳۱:۰۸ ۱۳۹۹/۰۴/۰۷
form amir
در:
سلام من اگه بخوام با وارد کردن یه id داخل یک text کل اون ردیف پاک بشن باید چه کنم مثلا یک text دریافت میکنم...
۰۱:۴۸:۰۵ ۱۳۹۹/۰۴/۰۷
form محمدباقر حسیبیان
در:
من این مشکل برام پیش اومده که موقع ورود به پروژه م توی لوکال هاست wamp صفحه سفیده و هیچی رو نشون نمیده و کد...
۱۶:۴۲:۳۸ ۱۳۹۹/۰۴/۰۶
form ...
در:
سلام دو سایت نوشته ای مربوط به من رو چند سال قبل لینک دانلود قرار دادن من ازشون خواستم بردارنش ولی اینکارو نکردن سایت...
۱۷:۲۶:۴۲ ۱۳۹۹/۰۴/۰۵
form مجتبی
در:
سلام میشه یک کد جاوا رو به php تبدیل کرد تا لود سایت سریع تر بشه؟
۱۳:۰۴:۲۳ ۱۳۹۹/۰۴/۰۴
form متین
در:
سلام ؛ من تازه شروع به یادگیری کردم ؛ مطلب بسیار کاربردی بود ؛ ممنون از شما دوست عزیز.
۰۱:۵۰:۰۵ ۱۳۹۹/۰۴/۰۴
form mahdi
در:
سلام استاد عزیز و گرامی امیدوارم که حالتون خوب باشه ، اگه براتون ممکنه لطفا یه آموزش خوب در زمینه وردپرس بهم معرفی کنید ،...
۲۱:۴۸:۱۳ ۱۳۹۹/۰۴/۰۳
form امید
در:
در برنامه نویسی کاربر با چه دستوری میتواند به صفحه اصلی برگردد
۱۹:۰۶:۵۶ ۱۳۹۹/۰۴/۰۳
form ali
در:
با سلام من یک پروژه طراحی کردم میخوام که وقتی کاربر روی ادامه مطلب کلیک کرد در خود صفحه بقیه مطالب را ببینه...
۱۸:۴۷:۲۲ ۱۳۹۹/۰۴/۰۳
form علی
در:
سلام و تشکر از زحمات ارزشمند شما احتراما بنده امروز از یک شماره تلفن ثابت از طریق یک رایانه و یک موبایل به طور...
۱۸:۰۱:۱۰ ۱۳۹۹/۰۴/۰۳
form oscar
در:
درود. اگر بخوایم در نمایش تاریخ و زمان که به صورت لحظه ای خودش در صفحه رفرش میشه، فقط عبارت " Mon Jun 22 2020...
۱۵:۵۹:۳۲ ۱۳۹۹/۰۴/۰۲
form علی
در:
با سلام چطور میشه فقط یک صفحه مورد نظرمون رفرش بشه نه همه صفحات سایت
۰۰:۰۳:۴۱ ۱۳۹۹/۰۳/۳۱
form Farzad
در:
الان وقتی فایل رو میخواد دانلود بکنه از خودش فایل میسازه ، به این صورت یعنی بعد از پوشه file هر پوشه ای باشه...
۱۸:۵۶:۲۱ ۱۳۹۹/۰۳/۳۰
form Farzad
در:
سلام ، خسته نباشید من فایل هایی که در هاست میزارم به این شکل هست: یعنی مشخص نیست فایل ها تو چه پوشه...
۱۳:۳۳:۴۰ ۱۳۹۹/۰۳/۳۰
form شیما طیبی
در:
سلام خیلی مطلب مفیدی بود . همیشه به وبلاگ نویسی به چشم یه کار خسته کننده نگاه میکردم ولی خب یه مقدار نظرم تغییر کرد....
۲۳:۵۲:۳۲ ۱۳۹۹/۰۳/۲۹
form احسان
در:
سلام من یک کد اسکریپت دارم که به صورت عددی تبدیل شده است. میخواستم بپرسم چطوری میتونم اسکریپت به حالت اولیه نوشته شده برگردانم و...
۲۱:۰۲:۱۳ ۱۳۹۹/۰۳/۲۷
form علی
در:
ممنون از پاسختون اما روش بالا جهت دانلود فایل کاربرد داره . من میخواستم به صورت استریم ویدئو پخش بشه اما آدرس مستقیم ویدئو...
۰۰:۳۷:۴۶ ۱۳۹۹/۰۳/۲۷
در انتظار بررسی: ۴