شنبه ۲۰ خرداد ۱۴۰۲

Saturday, June 10, 2023 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 مطالب بیشتر:
دستور switch و case در جاوا اسکریپت (JavaScript)
شروعی بر برنامه نویسی جاوا اسکریپت (JavaScript)
متدهای کار با آرایه در جاوا اسکریپت (JavaScript)
کار با پنجره Pop-up در جاوا اسکریپت (JavaScript)
رویدادها (Events) در جاوا اسکریپت (JavaScript)
دیدگاه
more ۵۴ دیدگاه برای این مطلب ارسال شده است.
more دیدگاه جدید بر اساس تاریخ ارسال در انتهای دیدگاه های موجود نمایش داده می شود.
محسن
۱۹:۴۶ ۱۳۹۳/۰۴/۲۶
استاد! سوالم مشخصه.
یه سوال سادست!
من آشنایی کافی یا javascript و php دارم.
میخوام در فیلد ورودی تاریخ برنامم، تاریخ و ساعت جاری سیستم درج بشه. همین!!!!
چیکار باید بکنم؟
date (Now)????
دوست گرامی! این کار برای کسی که با Javascript و PHP آشنایی داشته باشد خیلی سخت نیست، کافی است پارامترهای مربوط به تاریخ را با استفاده از تابع date در Javascript ترکیب کنید، و سپس با رویداد onclick در فیلد موارد را از متغیر ها دریافت و در قسمت value فیلد قرار دهید، مثال:
<script type="text/javascript">
var year = '<?php echo date('Y'); ?>';
function setInput(id){
document.getElementById(id).value = year;
}
</script>
<input type="text" id="test" onclick="setInput(this.id);">
البته PHP تاریخ سرور را برمی گرداند، اگر بخواهید از جاوا اسکریپت استفاده کنید این کار ساده تر است و تاریخ و زمان سیستم عامل را برمی گرداند:
<script type="text/javascript">
var now = new Date();
var year = now.getFullYear();
function setInput(id){
document.getElementById(id).value = year;
}
</script>
<input type="text" id="test" onclick="setInput(this.id);">
همین طور است برای سایر پارامترها (روز، ماه، ساعت، دقیقه و ثانیه).
majid
۱۳:۵۸ ۱۳۹۳/۰۵/۱۳
با سلام و تشکر از مطالب و توضیحات خوبتون
من یه فرم دارم با چند تا textbox که میخوام وقتی تاریخ را داخل textbox نوشتم داخل سطر جدولم اضافه شه چطور باید این کار رو انجام بدم چون الان که داخل textbox تاریخ رو مینویسم و دکمه submit میزنم داخل جدولم 00-00-0000 درج میشه. تشکر
سلام
نیاز به بررسی نمونه کد است.
هادی
۱۹:۲۶ ۱۳۹۳/۰۵/۲۵
سلام. میخوام تابع جاوا من که در زیر اومده هر 3 ثانیه اجرا بشه :
<script type="text/javascript">
hadi = function pscode()
{
var OP=document.contactform.OnePrice.value;
var NUM=document.contactform.number.value;
var Post=document.contactform.posttype.value;
var Kala = OP * NUM;
var Allp = Kala + + Post;
document.contactform.AllPrice.value = Allp;
}
window.onload = hadi;
</script>
راهنمایی کنید
سلام
بدین منظور می توانید از
setTimeout
استفاده کنید، مثال:
<script type="text/javascript">
function test(){
alert('js!');
setTimeout('test();', 3000);
}
test();
</script>
کاربر مبتدی js
۲۳:۰۵ ۱۳۹۳/۰۶/۱۲
سلام.
- لطفا در مورد تفاوت های کد نویسی رویه گرا و شیء گرا توضیحی بفرمایید.
- آیا لیستی از توابع داخلی JS وجود دارد
- آیا من که کارم با وبلاگ است به هیچ وجه نمی تونم از PHP استفاده کنم یا راهی وجود داره؟ من چند ساله که فقط از وبلاگ استفاده می کنم و بر HTML و CSS هم تقریبا تسلط دارم (با کمک آموزش های شما استاد عزیز) اما از این به بعد می خوام از سرور و دامنه استفاده کنم لطفا اگه امکانش هست توضیح بدید برای خرید و مدیریت سایت چه مراحلی است؟
سلام
- پاسخ سوالتان در اصل به ویژگی های برنامه نویسی شی گرا مانند Encapsulation، Polymorphism، Inheritance و... برمی گردد اما به بیان ساده در برنامه نویسی شی گرا تقریبا همه چیز ساختار نظام یافته ای دارد و در قالب کلاس ها و آبجکت ها تعریف می شود، به عبارت ساده تر در برنامه نویسی رویه گرا یا Procedural Programming به خودی خود ساختار مشخصی وجود ندارد و به فرض هر کجا که بخواهید می توانید دستور echo داشته باشید! یا از توابع استفاده کنید، اما در OOP یا Object-Oriented Programming اصول مشخصی وجود دارد که تنها در چارچوب آنها کدنویسی و ساختار تعریف می شود، به فرض نحوه اشتراک گذاری متدها بین کلاس ها و...
- عبارت "js methods" را در وب جستجو کنید.
- در سرویس های وبلاگ مانند سرویس های داخلی امکان استفاده از برنامه نویسی سمت سرور نیست، برای این کار همان طور که اشاره کرده اید باید هاست و دامنه شخصی داشته باشید، اینکه به چه نحوی سایتتان را بر پا کنید به خودتان بستگی دارد، اگر مهارتتان در PHP در سطح حرفه ای باشد می توانید یک CMS شخصی طراحی کنید، در غیر این صورت به نظر چاره ای جزء استفاده از CMS های رایگان مانند وردپرس، جوملا و... وجود ندارد.
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.
Ali Zeus
۲۱:۰۲ ۱۳۹۳/۰۶/۱۳
با سلام و ممنون از پاسختون
فقط یک سوال دیگر... چون من جاوا زیاد بلد نیستم منظورتون رو دقیق از پاسخ سوال سوم نفهمیدم.
هدر رو قبل از خروجی فایل پی اچ پی قرار بدم یعنی مثلا در اولین خط؟ یعنی قبل از هر دستوری؟
و ایا هدر رو بصورت پی اچ پی
<?php header("content-type: application/x-javascript"); ?>
قرار بدم یا به همین صورت قرار بدم تا جاوا محسوب شه؟
بسیار ممنون
سلام
تابع header جزء توابع PHP است، لذا به صورت PHP و قبل از ارسال هر خروجی دیگر (ترجیحا در ابتدای صفحه) قرار دهید، با این کار در اطلاعات سربرگ HTTP سرور به مرورگر، نوع خروجی (JS) مشخص می شود.
Ali Zeus
۰۱:۰۵ ۱۳۹۳/۰۶/۱۵
با سلام.... ممنون از کمکهاتون.... مرسی
محسن
۱۰:۵۹ ۱۳۹۳/۰۷/۰۴
سلام با استفاده از این تابع ایا میشه سرعت اینترنت کاربر رو فهمید؟ مثلا زمان رو در ابتدای لود صفحه بگیریم و در انتهای لود صفحه هم بگیریم. حالا با استفاده از حجمی که صفحه ی سایتمون داره سرعت اینترنت کاربر رو بصورت تقریبی بفهمیم
اگه میشه راهنمایی کنید
سلام
به صورت تقریبی این کار ممکن است، چند روش در وب ارائه شده، از جمله بارگذاری یک فایل:
<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>
امین
۰۰:۰۵ ۱۳۹۳/۰۷/۲۹
با تشکر از تمامی مطالب مفیدتون.
شایسته
۱۷:۱۷ ۱۳۹۳/۰۷/۳۰
سلام میخواستم بدونم از این کد چطوری استفاده کنم تاریخ رو از بانک میگیرم و با تاریخ الان میخوام مقایسه کنم بعد بگه اگه کمتر از یک روز بگه چند ساعت پیش اگه بیشتر از 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>
سلام
کد (بالا) مطابق هدف شما ویرایش شد!
بابک
۱۰:۳۶ ۱۳۹۳/۰۸/۱۶
برادر چرا قصه می بافی در مورد بدست اوردن اختلاف دو تاریخ در جاوا اسکریپت بنویس یا تبدیل شمسی به میلادی با جاوا اسکریپت بنویس وگر نه این چیزها دو میلیون سایت وجود داره
جاوا اسکریپت زبان سمت کاربر است و به نظر نوشتن کدی برای تبدیل تاریخ میلادی به شمسی و... ضرورت چندانی ندارد و شاید به همین دلیل کسی اقدام به این کار نکرده است، به جای آن از PHP استفاده می شود! از این گذشته این قسمت مناسب کاربرانی است که از ابتدا قصد فراگیری اصول پایه را دارند، بله در سایت های مخلف گفته شده و کسی منکر این نیست، اما هر کسی روش خودش را دارد و کاربران در انتخاب سایت مورد نظرشان آزاد هستند.
علی
۱۲:۲۲ ۱۳۹۴/۰۱/۱۶
سلام میخواستم بدونم چه طور میشه به روزهای تاریخ جاری مثلا هفت روز اضافه کرد؟ مثلا وقتی کاربر از آیتم های کامبوباکس گزینه هفته ی بعد رو انتخاب میکنه اگه امروز شنبه هست تاریخ شنبه هفته ی بعدشو نشون بده، یعنی هفت روز به تاریخ فعلی اضافه کنه و البته ماه و سال هم هماهنگ بشه ؟
سلام
در صورت آشنایی با مبحث تاریخ و زمان در جاوا اسکریپت، نمونه کد زیر کمک خواهد کرد:
<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) استفاده و برای فارسی سازی از کلاس jdf بهره گرفته شده که با جستجو در وب به راحتی می توانید از این کلاس استفاده کنید!
محمد
۱۷:۰۴ ۱۳۹۴/۰۸/۱۳
سلام
میشه بپرسم چه جوری میشه ساعت سپری شده رو اعلام کرد. مثل سایت دیوار که تاریخ ارسال ها رو با ذکر زمان سپری شده اعلام میکنه
ممنون
سلام
باید نحوه مقایسه تاریخ ها (تاریخ فعلی و تاریخ گذشته) را بلد باشید، یک مثال در 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>
۱۸:۱۳ ۱۳۹۵/۰۸/۰۲
ممنون از سایت خوبتون
more لطفا پیش از ارسال دیدگاه نکات زیر را مد نظر داشته باشید:
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.



 refresh
10 × 10
5 × 6
20 × 20
=
آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
علی یوسفی
ممنون از این مقاله کامل جامع
۱۴۰۲/۰۳/۱۹

حسین
با سلام ببخشید این کدها تو وردپرس هم میشه استفاده کرد؟
۱۴۰۲/۰۳/۱۹

پـــرتو
سلام خسته نباشید ببخشید این کد رو میشه برای وبلاگ بلاگفا استفاده کرد یا نه؟ اگر نمیشه میشه یه کد مثل این برای بلاگفا بدین؟...
۱۴۰۲/۰۳/۱۹

پـــرتو
سلام جناب خسته نباشید شرمنده دوباره مزاحم میشم عه جناب شما می تونید برام یه کد آمارگیر تو همین سایت وبگذر درست کنید لطفا؟ ایمیلم...
۱۴۰۲/۰۳/۱۹

پـــرتو
سلام اوکی ولی چرا من هر چی ایمیلمو میزنم ارور میده؟ بله درسته چون من چندوقته هر چی ایمیلمو میزنم ارور میده گفتم شاید باید...
۱۴۰۲/۰۳/۱۶

پرتو
سلام جناب خسته نباشید شرمنده مزاحم میشم برای ساخت عضویت در سایت وبگذر باید چه ایمیلی داشته باشیم که ساخته بشه؟ منظورم جیمیله یا یاهو...
۱۴۰۲/۰۳/۱۵

سینا
با سلام و خسته نباشید من یه متنی رو از یه سایت با file_get_contents می گیرم و توی سایت منتشر می کنم راهی...
۱۴۰۲/۰۳/۰۷

مرتضی حسین پور
سلام مثلا من میخوام عبارت زندگی در کوهستان را تگ بزنم چگونه باید این کار را بکنم
۱۴۰۲/۰۳/۰۴

ابوالفضل
سلام استاد بازم من اومدم با طرح یه سوال جدید من میخوام در یک جدول در دیتابیس یک مقدار که به 1 تغییر کرد...
۱۴۰۲/۰۲/۳۰

احمد
سلام، در کدوم قسمت باید کد رو قرار بدیم؟ در قسمت سفارشی سازی css قرار میدم، ارور میده و قبول نمیکنه.
۱۴۰۲/۰۲/۳۰

محمد
سلام من چطور prompt که از کاربر بگیرم به boolean تبدیل کنم
۱۴۰۲/۰۲/۲۵

مزرجی
سلام وقت بخیر چجوری میشه فهمید خروجی هر لینک چیه؟ مثلا از کجا بفهمیم خروجی یک لینک، متن هست یا فیلم هست یا عکس...
۱۴۰۲/۰۲/۲۱

علی
با سلام و عرض ادب می خواستم کار با پایگاه داده در جاوا رو یاد بگیرم (ورود اطلاعات در دیتابیس و آپدیت و حذف...
۱۴۰۲/۰۱/۲۷

علی
با سلام و درود اگر همین کد رو مستقیم در یک فایل جاوا وارد کنیم چرا اجرا نمیشه؟ و اگر بخواهیم اجرا بشه...
۱۴۰۲/۰۱/۲۵

پـــرتو
سلام ببخشید مزاحم میشم من ویندوزم رو تازه کردم ولی موقع نصب فتوشاپ موقعی که فتوشاپ نصب میشه خطای dll میاد که من دقیقا نمی...
۱۴۰۲/۰۱/۲۴
  در انتظار بررسی: ۰
 پاسخگویی به سوالات ممکن است تا ۲۴ ساعت زمان ببرد.