parsgreen.com
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>
<!-- http://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 مطالب بیشتر:
» تعریف متغیرها، محاسبات و عملگرها در جاوا اسکریپت (javascript)
» رویداد ها (events) در جاوا اسکریپت (JavaScript)
» مقایسه (Comparison) و شرط (If و Else) در جاوا اسکریپت (JavaScript)
» حلقه for و while در جاوا اسکریپت (JavaScript)
» کار با پنجره pop up در جاوا اسکریپت (JavaScript)
commentنظرات (۴۵ یادداشت برای این مطلب ارسال شده است)
نویسنده: محمد
زمان: ۱۸:۳۴:۳۰ - تاریخ: ۱۳۹۱/۱۱/۰۶
سلام
ممنون از وبسایت عالیتون . چه جوری میتونیم تاریخ میلادی رو که در بانک ذخیره کردیم تو وبمون تبدیل به تاریخ شمسی کنیم ؟ با تشکر
پاسخ: 
سلام
این مورد قبلا در آموزش های کاربردی php توضیح داده شده است، کافی است عبارت تاریخ را در قسمت جستجوی سایت وارد کنید.
نویسنده: علیرضا
زمان: ۲۲:۴۷:۰۴ - تاریخ: ۱۳۹۱/۱۱/۰۸
سلام. ممنون از اموزشهای خوبتون. من همه اموزشهاتون را دنبال میکنم و در php خیلی پیشرفت کرده ام و دنبال یه پروژه کامل مثلا یه فروشگاه با سبد خرید و امکانات کامل میگردم برای یادگیری. البته چند پروژه دانلود کرده ام که پیشرفته نیستند. اگه امکان داره چنین پروژه ای را حتی اگر شده برای فروش در سایت بگذارید . ممنون
پاسخ: 
سلام
از نظر لطف شما ممنونیم، اما درباره یادگیری با پروژه، یک سیستم فروشگاهی چیزی جدا از مباحث php نیست، یعنی اگر برنامه نویسی و مباحث مهم آن را (مانند مبحث سشن و کوکی ها، توابع و آرایه ها، کار با حلقه ها و...) خوب یاد بگیرید، می توانید هر نوع ایده ذهنی خود را به برنامه تبدیل کنید، البته مسلما باید وقت بگذارید و چند و چون کار را بررسی کنید، پیشنهاد ما این است که از پروژه های کوچک و آزمایشی شروع کنید تا کم کم تجربه لازم را به دست آورید.
نویسنده: سعید
زمان: ۱۸:۲۹:۱۵ - تاریخ: ۱۳۹۱/۱۱/۱۰
سلام
همانطور که میدانید یکی از بخشهای اصلی یک سایت ،ویرایشگر متن آن میباشد که ما بتوانیم مطالب خود را روی سایت ارسال نماییم . ایا در حال حاضر ویرایشگر فارسی شده ای داریم ؟ من از تینی میسک استفاده میکنم ولی ابزارهاش چپ چین هستند و متنی که فارسی توش تایپ میکنیم از چپ شروع میکنه به نوشتن که جالب نیست . لطفا ادرس دانلودش رو قرار بدین . ممنون
پاسخ: 
سلام
متاسفانه تا آنجا که می دانیم ادیتور فارسی رایگانی وجود ندارد و ساختن آن هم به تجربه و مهارت بالا در جاوا اسکریپت نیاز دارد، اما ادیتور Tiny MCE قابلیت های زیادی برای سفارشی سازی دارد و با کمی آشنایی و مراجعه به انجمن های آن (به زبان انگلیسی) می توان موارد دلخواه را تغییر داد، به فرض برای مورد شما باید این تابع را در انتهای قسمت tinyMCE.init اضافه کنید.
function SetEditor(){
var id = tinyMCE.getInstanceById('textarea-id');
id.getBody().style.backgroundColor = "#FFFFFF";
tinyMCE.get('textarea-id').getBody().dir ="rtl";
}
البته ما برای نمونه هم رنگ پس زمینه و هم چینش ادیتور را تنظیم کرده ایم، سپس در قسمت General options (موارد داخل tinyMCE.init) تنظیمات زیر را نیز اضافه کنید.
oninit : "SetEditor",
فراموش نکنید که به جای textarea-id باید آی دی فیلد متنی خود را وارد کنید.
نویسنده: مينا
زمان: ۱۰:۳۸:۳۱ - تاریخ: ۱۳۹۱/۱۱/۱۱
سلام. من حدود 6 ماهه كه php كار ميكنم و توانايي طراحي برنامه نويسي يه سايت با امكانات سايتهاي معمولي يا فروشگاه را دارم البته به صورت رويه گرا نه شي گرا . ميخواستم ببينم اينكه برنامه هاي من شي گرا نيستند اشكال دارد . البته دارم شروع ميكنم به يادگيري حرفه اي. چون جديدا دارم براي يه اموزشگاه زبان، سايت طراحي ميكنم ولي ميترسم اينكه اين سايت كدهاي ساده دارد و شي گرا نيست يه نقص در كار من باشد . لطفا با تجربه اي كه داريد من را راهنمايي كنيد. سپاس
پاسخ: 
سلام
صرف استفاده نکردن از شیوه شی گرا در برنامه نویسی نقص محسوب نمی شود (حتی در برخی مواقع مزیت هایی نیز دارد)، مهم این است که شما برنامه هایتان را (چه به شیوه عادی و چه شی گرا) طوری بنویسید که قابلیت توسعه پذیری، یکپارچگی و طبقه بندی ساختاری داشته باشند، البته این عبارات چیز پیچیده ای نیستند، منظور این است که طوری برنامه بنویسید که برای تغییرات بعدی حداقل زحمت و صرف وقت نیاز باشد، به طور مثال کدنویسی به صورت درختی و مشخص شده باشد، فایل های زبان به صورت مجزا وارد شوند، نام جداول و ستون های دیتابیس به صورت مجزا دسته بندی شده باشند، موارد تکراری حتی الامکان به صورت تابع و مجزا نوشته شوند و...
به این دلیل ها است که برنامه نویسی شی گرا (در صورت اینکه بر آن تسلط پیدا کنید) برای پروژه های به اصطلاح سنگین توصیه می شود، چون ماهیتا به یکپارچه شدن برنامه نویسی و قابلیت توسعه پذیری آن کمک می کند، خواندن و فهمیدن کدها آسانتر می شود و ...
نتیجه اینکه پروژه ها را به هر دو شیوه می توان نوشت، اما اگر به شیوه شی گرا تسلط دارید، برای برنامه های پیچیده و سنگین بهتر است از آن استفاده کنید، اما اگر استفاده نکنید هم مسئله ای نیست، مهم این است که سایر مواردی که گفته شد را رعایت کنید تا بعدا دچار زحمت نشوید.
نویسنده: مینا
زمان: ۱۶:۳۹:۰۲ - تاریخ: ۱۳۹۱/۱۱/۱۱
ممنون از راهنمایی مفیدتون و وقتی که برای پاسخ من گذاشتید. پیروز باشید.
نویسنده: محمد
زمان: ۱۰:۲۳:۰۶ - تاریخ: ۱۳۹۱/۱۱/۱۴
سایت فوق العاده کاربردی دارین.
با تشکر از تمامی مطالب مفیدتون.
نویسنده: عليرضا
زمان: ۱۵:۴۵:۵۲ - تاریخ: ۱۳۹۱/۱۱/۱۴
اگر امكان داره روش راه اندازي سايت دو زبانه يا چند زبانه با php را توضيح دهيد . اگر نوع عملكردشان فرق داشته باشد و مثلا بخش فارسي شامل بخشهايي باشد كه بخش انگليسي نيازي به انها نداشته باشد بايد چكار كرد. يعني ديتابيس بخش فارسي با انگليسي كمي متفاوت باشد. ممنون از وقتي كه صرف اموزش ميكنيد . پيروز باشيد .
پاسخ: 
اگر از CMS های موجود می خواهید استفاده کنید، بهترین روش نصب دو CMS در دو دایرکتوری به فرض فولدر fa و en است، اما اگر منظورتان نوشتن سیستم سایت با php است، این کار در درجه اول نیاز به تجربه و مهارت کافی در برنامه نویسی دارد، سپس می توانید فایل های زبان را به صورت فایل خارجی و روش هایی مانند استفاده از define تعریف کرده و از مقادیر آن در کل برنامه استفاده نمائید، به فرض برای عبارت "نام خود را وارد کنید" عبارتی قراردادی به صورت زیر در نظر می گیریم:
define('SITE_INTER_NAME', 'نام خود را وارد کنید');
و به جای عبارت فارسی از مقادیر SITE_INTER_NAME در هر جا از کدهایمان نیاز بود استفاده می کنیم، به این ترتیب می توان در فایل زبان دیگری (به فرض انگلیسی) معادل آن زبان را برای SITE_INTER_NAME در نظر گرفت و به این ترتیب در هنگام اجرای کدها، متناسب با لینک درخواستی (زبان انتخاب شده)، فایل مورد نظر را فراخوانی نمود، در مورد امکانات نیز باید سیستم خود را طوری بنویسید که امکانات به صورت داینامیک قابل غیر فعال سازی باشند.
نویسنده: مهتاب
زمان: ۱۹:۰۴:۵۴ - تاریخ: ۱۳۹۱/۱۱/۱۶
تشکر از مطالب مفیدتون. اگه ممکنه درباره برنامه ای که بتواند در پستها ، جدول اینزرت کند توضیح دهید. مثلا همین صفحه سایتتان را در نظر بگیرید، این پست شما شامل عنوان و مطلب و ادامه مطلب و تصویر بندانگشتی و ...است که در mysql ذخیره میشوند و شما از طریق بخش مدیریت این پست را ایجاد می کنید.حالا فرض کنید در این پست می خواستید بعضی مطالب را در یک جدول نمایش دهید ، پس باید در قسمت مدیریت پستها یک قسمت برای درج جدول در پست داشته باشید. سوال من این است که چطور یک صفحه مدیریت پست در admin داشته باشیم که دارای چنین امکانی باشد. (مثل افزونهwp-table-reloaded در وردپرس که با ان در پستهایمان جدول اینزرت می کنیم).
پاسخ: 
سلام
برای این منظور و در کل برای ایجاد محیط ارسال مطلب، معمولا از امکانات ادیتورهای (wysiwyg) تحت وب مانند TinyMCE، CKEditor و... استفاده می شود، البته برای درج جدول بهتر است آن را در یک برنامه حرفه ای، کدنویسی کنید و سپس کد آن را به صورت html در قسمت مطالب وارد نمائید.
نویسنده: شریفی
زمان: ۲۳:۲۲:۳۶ - تاریخ: ۱۳۹۱/۱۱/۱۸
سلام
واقعا ازتون به خاطر طراحی و مدیریت وبسایت فوق العاده وبگو تشکر می کنم. من مطالبتون رو دنبال می کنم و واقعا برام مفید بوده.
وبسایت من در مورد تبلیغات هست و حیفم اومد که وبسایت شما را تبلیغ نکنم به خاطر همین یه پیشنهاد دارم:
اگه مایلید با من تبادل بنر کنید بهم خبر بدین تا من با کمال میل بنر شما رو در تمام صفحات سایتم نمایش بدم.
با تشکر - شریفی - مدیریت آدونیا
پاسخ: 
سلام
خیلی ممنون از نظر لطف و پیشنهادتان، در رابطه با تبادل بنر، متاسفانه فعلا برنامه ای برای این کار نداریم.
نویسنده: سودابه
زمان: ۱۱:۱۹:۲۳ - تاریخ: ۱۳۹۱/۱۱/۲۵
سلام . اگه ممكنه ساخت فرم چند مرحله اي كه اطلاعات را در چند صفحه دريافت كند و در ديتابيس بگذارد را اموزش دهيد .
پاسخ: 
سلام
پیشنهاد خوبی است، البته اگر با روش دریافت اطلاعات معمولی و ذخیره در دیتابیس آشنا باشید، انجام این کار چندان سخت نیست؛ به هر صورت سعی می کنیم در آموزش های آینده به آن بپردازیم.
نویسنده: علی
زمان: ۲۰:۱۶:۲۵ - تاریخ: ۱۳۹۱/۱۱/۲۷
سلام
چطوری می تونیم یا چکار باید کرد تا ساعت دقیق را از طریق پی اج پی از سرور سایت گرفته و داخل فانکشن جاوا اسکریپت قرار دهیم ؟
به این دلیل که خود جاوا اسکریپت میاد از تایم سیستم کاربر استفاده میکنه ولی من میخوام مقدار اولیه بهش بدم و سپس خودش از آن به بعد بقیه تایم را پیش ببرد .
پاسخ: 
سلام
سوال بسیار خوبی بود، برای این کار از نمونه کد زیر می توانید استفاده کنید:
<script type="text/javascript">
<!--
//تنظیم زمان بر اساس تاریخ سرور
var date = new Date(<?php echo date('y, n, j, G, i, s'); ?>);
//استخراج ساعت، دقیقه و ثانیه
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
//تابع برای محاسبه و نمایش زمان
function ShowTime(){
second++;
if(second.toString().length == 1){
second = '0' + second;
}
if(second>59){
second = '0' + 0;
minute++;
}
if(minute.toString().length == 1){
minute = '0' + minute;
}
if(minute>59){
minute = '0' + 0;
hour++;
}
if(hour.toString().length == 1){
hour = '0' + hour;
}
if(hour>23){
hour = '0' + 0;
}
//خروجی
var output = hour + ":" + minute + ":" + second;
//چاپ خروجی در بلاک
document.getElementById("show_time").innerHTML = output;
}
//اجرای تابع در هنگام بارگذاری صفحه
window.onload = function(){
//فراخوانی تابع اصلی پس از هر ثانیه
setInterval("ShowTime();", 1000);
}
-->
</script>
<!-- بلاک خروجی -->
<div id="show_time"></div>
اتفاقی که در این کد می افتد این است که ابتدا به Date مقادیر پیش فرض می دهیم که همان مقادیر زمان سرور است که با تابع date در php استخراج کرده ایم، سپس موارد مورد نیاز (ساعت، دقیقه و ثانیه) را بر اساس آن تعریف می کنیم، تابع showtime در هر بار اجرا محاسبات را انجام می دهد و خروجی را به بلاک div می فرستد، تابع setInterval هم باعث می شود تا در هر ثانیه، به صورت خودکار تابع showtime فراخوانی شود.
نویسنده: مریم
زمان: ۲۰:۵۲:۳۶ - تاریخ: ۱۳۹۱/۱۱/۲۷
درود بر شما . اموزشهاتون فوق العاده ست . استاد امکان داره کاربران یک اموزش خاص را سفارش بدهند و شما (البته نه رایگان) آن اموزش را حالا یا در سایت قرار دهید یا ارسال کنید. متاسفانه اکثر سایتهای اموزشی در ایران تعامل کمی با کاربران دارند و بیشتر ، مطالب خودشان را قرار میدهند و نمیتوان یک مطلب را سفارش داد .
پاسخ: 
سلام
خواهش می کنیم، نظر لطف شما است، در مورد سوالتان، البته سعی ما بر این است که مطالب به صورت عمومی و رایگان باشند، اما اگر مورد خاصی مد نظر شما است، می توانید از بخش تماس با ما، بخش برنامه نویسی وب سفارشتان را با ذکر جزئیات مطرح کنید و نتیجه را نیز از طریق ایمیل پیگیری نمائید.
نویسنده: محمد
زمان: ۲۲:۲۴:۳۱ - تاریخ: ۱۳۹۲/۰۱/۰۴
همیشه فکر می کردم پست های شما خیلی ابتدایی هستن ولی این یکی فرق می کنه و واقعا فوق العاده بود
ممنون از زحماتتون
پاسخ: 
:-)
نویسنده: رضا
زمان: ۱۶:۳۸:۲۵ - تاریخ: ۱۳۹۲/۰۵/۱۲
با سلام
احتراما چگونه ميتوان دو عدد زمان كه در دو textbox است را اخذ كرد و اختلاف آنها را با js محاسبه و در textbox سوم قرار داد
لطفا جواب را به ايميل من ارسال نماييد. باتشكر فراوان
پاسخ: 
سلام
چه فرمتی از زمان مد نظرتان است؟
خروجی محاسبه باید به چه شکلی باشد؟
تا این لحظه چه تلاشی کرده اید یا چه کدی برای بدست آوردن آن نوشته اید؟
نویسنده: رضا
زمان: ۱۱:۱۵:۰۶ - تاریخ: ۱۳۹۲/۰۵/۱۴
مثلا در textbox1 : 11:25
در textbox2 : 13:55
وقتي يك باتم را فشار مي دهيم در textbox3 عدد 150 دقيقه را نشان دهد
در textbox3 : 150 min
پاسخ: 
از نمونه کد زیر استفاده کنید:
<script type="text/javascript">
function TimeDifference(id_1, id_2, id_3){
var value_1 = document.getElementById(id_1).value;
var value_2 = document.getElementById(id_2).value;

var value_1_hour_minute = value_1.split(":");
var value_1_hour = value_1_hour_minute[0];
var value_1_minute = value_1_hour_minute[1];

var value_2_hour_minute = value_2.split(":");
var value_2_hour = value_2_hour_minute[0];
var value_2_minute = value_2_hour_minute[1];

var date_1 = new Date(2000, 0, 1, value_1_hour, value_1_minute);
var date_2 = new Date(2000, 0, 1, value_2_hour, value_2_minute);

if(date_2 > date_1){
var diffrence = date_2 - date_1;
}
else{
var diffrence = date_1 - date_2;
}

var hour = Math.floor(diffrence / 1000 / 60 / 60);
diffrence -= hour * 1000 * 60 * 60;
var minute = Math.floor(diffrence / 1000 / 60);
diffrence -= minute * 1000 * 60;
var second = Math.floor(diffrence / 1000);
var milisecond = diffrence - (second * 1000);

document.getElementById(id_3).value = (hour * 60) + minute;

}
</script>
<input type="text" id="text_1" value="13:55"><br>
<input type="text" id="text_2" value="11:25"><br>
<input type="text" id="text_3"><br>
<input type="button" value="محاسبه" onclick="TimeDifference('text_1', 'text_2', 'text_3');">
paged صفحه 1 از 3




more لطفا دقت کنید که یادداشت های زیر منتشر نشده و حذف خواهند شد:
- یادداشت های خارج از موضوع این مطلب.
- سوالات کلی، غیر ضروری و مشکلاتی که هیچ تلاشی برای رفع آن نکرده باشید.
- نظرات حاوی کدها و اسکریپت های خیلی طولانی (به طور مثال کد کامل قالب وبلاگ).

3 × 9
 refresh
آگهی
seonab.com
طراحی نرم افزار اندروید
رنگین کمان عکس
Ranginkamaan.com

آرشیو عکس های باکیفیت با موضوعات متنوع...