شنبه ۲۲ شهریور ۱۴۰۴

Saturday, September 13, 2025 GMT +3:30

کار با تاریخ و زمان در جاوا اسکریپت (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>
پیش نمایش
دسته بندی: آموزش مقدماتی » JavaScript
related مطالب بیشتر:
متدهای کار با آرایه در جاوا اسکریپت (JavaScript)
توابع (Functions) در جاوا اسکریپت (JavaScript)
دستور switch و case در جاوا اسکریپت (JavaScript)
رویدادها (Events) در جاوا اسکریپت (JavaScript)
حلقه for و while در جاوا اسکریپت (JavaScript)
دیدگاه
more ۶۳ دیدگاه برای این مطلب ارسال شده است.
more چینش دیدگاه ها به ترتیب از جدیدترین به قدیمی ترین است.
امیر مهدی
۱۹:۱۱ ۱۳۹۹/۰۲/۰۹
سلام من می خوام توی سایت خودم اسم روز هفته رو نشون بدم کنار فرم ورود خودم. ولی هر کاری می کنم نمی تونم دقیق اونجایی که می خوام اسم روز هفته رو نشون بدم. اگه میشه راهنمایی کنید
ظاهرا مشکل بیشتر به جانمایی تاریخ و زمان مربوط می شود؟ در اینصورت باید کدنویسی HTML و استایل CSS صفحه بررسی شود تا بتوانیم بیشتر راهنمایی کنیم، در صورت تمایل آدرس سایتتان را درج کنید.
آرتین
۱۹:۵۱ ۱۳۹۷/۱۰/۱۳
سلام ممنون از سایت خوبتون
میخوام یه سایتی طراحی کنم که با استفاده از ساعت تصویر پس زمینه اش تغییر کنه یعنی در روز تصویر روز و در شب تصویر شب بیاد ممنون میشم راهنماییم کنید.
در نمونه کد زیر تغییر رنگ پس زمینه با توجه به زمان شب یا روز بودن برای بلاک با آی دی header انجام شده است که از همین الگو می توانید برای موارد مشابه (به فرض تگ body) استفاده کنید:
<style>
#header {
height: 200px;
width: 100%;
border: 1px solid #B5B5B5;
}
.day {
background: #35AAFF;
}
.night {
background: #F7272A;
}
</style>
<div id="header"></div>
<script>
function smartTemplate(){
var daynight = document.querySelector('#header');
var currentTime = new Date();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();

if(hours < 6 || hours >= 18) {
//console.log('night');
daynight.classList.remove('day');
daynight.classList.add('night');
}

if(hours >= 6 && hours < 18) {
//console.log('day');
daynight.classList.remove('night');
daynight.classList.add('day');
}
}

//call function
smartTemplate();
</script>
عاطفه
۱۵:۰۵ ۱۳۹۶/۰۴/۱۶
سلام و خسه نباشید
من میخام با نت بینز، تاریخ فعلی رو بگیرم و روزها افزایش پیدا کنن تا به تاریخی که در یک تکست باکس نوشتم برسه، در اون روز باید هشدار بده
میشه لطفا کمکم کنید؟؟؟
قاعدتا نوشتن اسکریپت کامل آنطور که مد نظر شما است در قالب یک پاسخ ممکن نیست و باید بخشی از کدها را خودتان بنویسید، جهت راهنمایی نمونه زیر می تواند به درک روند کار کمک کند:
<script type="text/javascript">
function dateAlert(id){
var input_value = document.getElementById(id).value;
var input_date = new Date(input_value);
var today_date = new Date();

if (input_date.getTime() > today_date.getTime()) {
alert("هنوز زمان باقی است!");
} else {
alert("تاریخ گذشته است!");
}
}
</script>
<input type="text" id="input-id" value="2017,1,1">
<script type="text/javascript">
dateAlert('input-id');
</script>
۱۸:۱۳ ۱۳۹۵/۰۸/۰۲
ممنون از سایت خوبتون
محمد
۱۷:۰۴ ۱۳۹۴/۰۸/۱۳
سلام
میشه بپرسم چه جوری میشه ساعت سپری شده رو اعلام کرد. مثل سایت دیوار که تاریخ ارسال ها رو با ذکر زمان سپری شده اعلام میکنه
ممنون
سلام
باید نحوه مقایسه تاریخ ها (تاریخ فعلی و تاریخ گذشته) را بلد باشید، یک مثال در PHP:
<?php
$start_date = new DateTime('2015-01-01 12:10:08');
$since_start = $start_date->diff(new DateTime('2015-01-11 10:25:00'));
echo $since_start->y.' years<br>';
echo $since_start->m.' months<br>';
echo $since_start->d.' days<br>';
echo $since_start->h.' hours<br>';
echo $since_start->i.' minutes<br>';
echo $since_start->s.' seconds<br>';
?>
یک مثال در JavaScript:
<script type="text/javascript">
var date1 = new Date(2015, 2, 1, 9, 10, 10);
var date2 = new Date(2015, 3, 1, 9, 12, 15);
if (date2 < date1){
date2.setDate(date2.getDate());
}
var diff = date2 - date1;
var msec = diff;
var hh = Math.floor(msec / 1000 / 60 / 60);
msec -= hh * 1000 * 60 * 60;
var mm = Math.floor(msec / 1000 / 60);
msec -= mm * 1000 * 60;
var ss = Math.floor(msec / 1000);
msec -= ss * 1000;
alert(hh + ' ساعت ' + mm + ' دقیقه ' + ss + ' ثانیه ');
</script>
علی
۱۸:۵۹ ۱۳۹۴/۰۵/۱۹
با سلام و با تشکر از پاسخ به سوالات
اگر امکانش هست نحوه کار و کد همین زمان و تاریخی که در سایت شما نمایش داده می شود را توضیح دهید. اینکه با چه زبانی نوشته شده و چطور به صفحات شما فراخوانی و نمایش داده می شود اگر امکانش هست کد را هم قرار دهید.
با تشکر فراوان
سلام
در نمایش تاریخ و زمان سایت از زبان سمت سرور (PHP) استفاده و برای فارسی سازی از کلاس jdf بهره گرفته شده که با جستجو در وب به راحتی می توانید از این کلاس استفاده کنید!
علی
۱۲:۲۲ ۱۳۹۴/۰۱/۱۶
سلام میخواستم بدونم چه طور میشه به روزهای تاریخ جاری مثلا هفت روز اضافه کرد؟ مثلا وقتی کاربر از آیتم های کامبوباکس گزینه هفته ی بعد رو انتخاب میکنه اگه امروز شنبه هست تاریخ شنبه هفته ی بعدشو نشون بده، یعنی هفت روز به تاریخ فعلی اضافه کنه و البته ماه و سال هم هماهنگ بشه ؟
سلام
در صورت آشنایی با مبحث تاریخ و زمان در جاوا اسکریپت، نمونه کد زیر کمک خواهد کرد:
<script type="text/javascript">
function nextWeek(days){
var today = new Date();
var next = new Date(today.getFullYear(), today.getMonth(), today.getDate() + days);
return next;
}
alert(nextWeek(7))
</script>
نکته: کار با تاریخ داینامیک در جاوا اسکریپت عموما بر مبنای میلادی است، لذا برای نمایش به صورت تاریخ هجری شمسی باید این روش را با Ajax و PHP ترکیب کنید.
بابک
۱۰:۳۶ ۱۳۹۳/۰۸/۱۶
برادر چرا قصه می بافی در مورد بدست اوردن اختلاف دو تاریخ در جاوا اسکریپت بنویس یا تبدیل شمسی به میلادی با جاوا اسکریپت بنویس وگر نه این چیزها دو میلیون سایت وجود داره
جاوا اسکریپت زبان سمت کاربر است و به نظر نوشتن کدی برای تبدیل تاریخ میلادی به شمسی و... ضرورت چندانی ندارد و شاید به همین دلیل کسی اقدام به این کار نکرده است، به جای آن از PHP استفاده می شود! از این گذشته این قسمت مناسب کاربرانی است که از ابتدا قصد فراگیری اصول پایه را دارند، بله در سایت های مخلف گفته شده و کسی منکر این نیست، اما هر کسی روش خودش را دارد و کاربران در انتخاب سایت مورد نظرشان آزاد هستند.
شایسته
۱۷:۱۷ ۱۳۹۳/۰۷/۳۰
سلام میخواستم بدونم از این کد چطوری استفاده کنم تاریخ رو از بانک میگیرم و با تاریخ الان میخوام مقایسه کنم بعد بگه اگه کمتر از یک روز بگه چند ساعت پیش اگه بیشتر از 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 one_hour = 60 * 60 * 1000;

var date_1_new = new Date(date_1_year + ',' + date_1_month + ',' + date_1_day);
var number_1 = 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 number_2 = date_2_year + '' + date_2_month + '' + date_2_day;

if(number_1 < number_2){
var diffrence = Math.round(Math.abs((date_2_new.getTime() - date_1_new.getTime()) / (one_hour)));
}
else{
var diffrence = Math.round(Math.abs((date_1_new.getTime() - date_2_new.getTime()) / (one_day)));
}

return diffrence;
}
alert(compareDate('10/22/2014', '10/24/2014'));
</script>
سلام
کد (بالا) مطابق هدف شما ویرایش شد!
امین
۰۰:۰۵ ۱۳۹۳/۰۷/۲۹
با تشکر از تمامی مطالب مفیدتون.
محسن
۱۰:۵۹ ۱۳۹۳/۰۷/۰۴
سلام با استفاده از این تابع ایا میشه سرعت اینترنت کاربر رو فهمید؟ مثلا زمان رو در ابتدای لود صفحه بگیریم و در انتهای لود صفحه هم بگیریم. حالا با استفاده از حجمی که صفحه ی سایتمون داره سرعت اینترنت کاربر رو بصورت تقریبی بفهمیم
اگه میشه راهنمایی کنید
سلام
به صورت تقریبی این کار ممکن است، چند روش در وب ارائه شده، از جمله بارگذاری یک فایل:
<script type="text/javascript">
var imageAddr = "yourimage.jpg" + "?n=" + Math.random();
var startTime, endTime;
var downloadSize = [size here...];
var download = new Image();
download.onload = function () {
endTime = (new Date()).getTime();
showResults();
}
startTime = (new Date()).getTime();
download.src = imageAddr;

function showResults() {
var duration = (endTime - startTime) / 1000;
var bitsLoaded = downloadSize * 8;
var speedBps = (bitsLoaded / duration).toFixed(2);
var speedKbps = (speedBps / 1024).toFixed(2);
var speedMbps = (speedKbps / 1024).toFixed(2);
alert("Your connection speed is: \n" +
speedBps + " bps\n" +
speedKbps + " kbps\n" +
speedMbps + " Mbps\n" );
}
</script>
در این روش یک تصویر با حجم مشخص از روی سرور شما فراخوانی می شود و در پایان میزان سرعت اینترنت کاربر به صورت تقریبی به دست می آید؛ روش دیگر استفاده از کد ساده زیر است که بر مبنای رویداد onload عمل می کند:
<script type="text/javascript">
var start = new Date().getTime();
window.onload = function() {
var now = new Date().getTime();
var latency = now - start;
alert("page loading time: " + latency);
}
</script>
Ali Zeus
۰۱:۰۵ ۱۳۹۳/۰۶/۱۵
با سلام.... ممنون از کمکهاتون.... مرسی
Ali Zeus
۲۱:۰۲ ۱۳۹۳/۰۶/۱۳
با سلام و ممنون از پاسختون
فقط یک سوال دیگر... چون من جاوا زیاد بلد نیستم منظورتون رو دقیق از پاسخ سوال سوم نفهمیدم.
هدر رو قبل از خروجی فایل پی اچ پی قرار بدم یعنی مثلا در اولین خط؟ یعنی قبل از هر دستوری؟
و ایا هدر رو بصورت پی اچ پی
<?php header("content-type: application/x-javascript"); ?>
قرار بدم یا به همین صورت قرار بدم تا جاوا محسوب شه؟
بسیار ممنون
سلام
تابع header جزء توابع PHP است، لذا به صورت PHP و قبل از ارسال هر خروجی دیگر (ترجیحا در ابتدای صفحه) قرار دهید، با این کار در اطلاعات سربرگ HTTP سرور به مرورگر، نوع خروجی (JS) مشخص می شود.
Ali Zeus
۰۲:۴۵ ۱۳۹۳/۰۶/۱۳
با سلام و خسته نباشید
این پست شما خیلی از مشکلاتم رو حل کرد، تشکر
چند سوال کلی دارم
1-ایا getTime برابر با
date('U')
در پی اچ پی است؟ و اگر نیست تابعی برابر با
date('U')
در جاوا وجود دارد؟
2- ایا تابعی مانند تابع rand پی اچ پی در جاوا وجود دارد که اعداد شانسی تولید کند؟
3- یک فایل جاوا اسکریپت با پسوند js در هاستم داشتم که پسوندشو به php تغیر دادم و کمی کد php بهش اضافه کردم. کار میکنه و مشکلی نداره فقط میخاستم ببینم این کار بعدها مشکلی ایجاد نمیکنه؟ استاندارد هست؟
4- ایا هر دکمه جاوا اسکریپتی (مثلا onclick) که در html قرار میدم باید javascript: رو داخلش حتما قرار بدم؟
با تشکر....
سلام
1- شباهت توابع به خروجی آنها بستگی دارد، لذا getTime در PHP معادل تابع
time()
است و چون خروجی
date('U')
نیز به همین صورت است، لذا این دو معادل متد مذکور در PHP هستند.
2- متد Math.random برای این کار کاربرد دارد، منتها برای شباهت با PHP باید آن را با Math.floor ترکیب کنید، مثال:
Math.floor((Math.random() * 50) + 1); 
که نتیجه عددی بین 1 تا 50 به صورت اتفاقی خواهد بود.
3- مشکل خاصی پیش نمی آید فقط باید syntax خروجی مطابق با جاوا اسکریپت رعایت شود، همچنین بهتر است در ابتدای خروجی فایل PHP دستور زیر تنظیم شود تا مروگر تشخیص دهید که خروجی فایل مذکور به صورت js است:
header("content-type: application/x-javascript");
4- خیر!، مثال های زیادی از نحوه فراخوانی توابع در رویدادها در وب وجود دارد، الزاما javascript در آنها استفاده نشده مگر در شرایط خاص مانند استفاده از دستورات خطی یا به فرض تابع void.
کاربر مبتدی js
۲۳:۰۵ ۱۳۹۳/۰۶/۱۲
سلام.
- لطفا در مورد تفاوت های کد نویسی رویه گرا و شیء گرا توضیحی بفرمایید.
- آیا لیستی از توابع داخلی JS وجود دارد
- آیا من که کارم با وبلاگ است به هیچ وجه نمی تونم از PHP استفاده کنم یا راهی وجود داره؟ من چند ساله که فقط از وبلاگ استفاده می کنم و بر HTML و CSS هم تقریبا تسلط دارم (با کمک آموزش های شما استاد عزیز) اما از این به بعد می خوام از سرور و دامنه استفاده کنم لطفا اگه امکانش هست توضیح بدید برای خرید و مدیریت سایت چه مراحلی است؟
سلام
- پاسخ سوالتان در اصل به ویژگی های برنامه نویسی شی گرا مانند Encapsulation، Polymorphism، Inheritance و... برمی گردد اما به بیان ساده در برنامه نویسی شی گرا تقریبا همه چیز ساختار نظام یافته ای دارد و در قالب کلاس ها و آبجکت ها تعریف می شود، به عبارت ساده تر در برنامه نویسی رویه گرا یا Procedural Programming به خودی خود ساختار مشخصی وجود ندارد و به فرض هر کجا که بخواهید می توانید دستور echo داشته باشید! یا از توابع استفاده کنید، اما در OOP یا Object-Oriented Programming اصول مشخصی وجود دارد که تنها در چارچوب آنها کدنویسی و ساختار تعریف می شود، به فرض نحوه اشتراک گذاری متدها بین کلاس ها و...
- عبارت "js methods" را در وب جستجو کنید.
- در سرویس های وبلاگ مانند سرویس های داخلی امکان استفاده از برنامه نویسی سمت سرور نیست، برای این کار همان طور که اشاره کرده اید باید هاست و دامنه شخصی داشته باشید، اینکه به چه نحوی سایتتان را بر پا کنید به خودتان بستگی دارد، اگر مهارتتان در PHP در سطح حرفه ای باشد می توانید یک CMS شخصی طراحی کنید، در غیر این صورت به نظر چاره ای جزء استفاده از CMS های رایگان مانند وردپرس، جوملا و... وجود ندارد.
more لطفا پیش از ارسال دیدگاه نکات زیر را مد نظر داشته باشید:
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.



 refresh
10 × 10
9 × 2
20 × 20
=