Date and time by mahdiHash · Pull Request #139 · javascript-tutorial/fa.javascript.info
@@ -1,36 +1,36 @@
To get the time from `date` till now -- let's substract the dates.
برای گرفتن زمان از `date` تا الان، بیایید تفاضل تاریخها را بیابیم.
```js run demo function formatDate(date) { let diff = new Date() - date; // the difference in milliseconds let diff = new Date() - date; // تفاضل به میلیثانیه
if (diff < 1000) { // less than 1 second return 'right now'; }
let sec = Math.floor(diff / 1000); // convert diff to seconds let sec = Math.floor(diff / 1000); // به ثانیه diff تبدیل
if (sec < 60) { return sec + ' sec. ago'; }
let min = Math.floor(diff / 60000); // convert diff to minutes let min = Math.floor(diff / 60000); // به دقیقه diff تبدیل if (min < 60) { return min + ' min. ago'; }
// format the date // add leading zeroes to single-digit day/month/hours/minutes // تغییر دادن شکل تاریخ // اضافه کردن صفر به دقیقه/ساعت/ماه/روز تک رقمی let d = date; d = [ '0' + d.getDate(), '0' + (d.getMonth() + 1), '' + d.getFullYear(), '0' + d.getHours(), '0' + d.getMinutes() ].map(component => component.slice(-2)); // take last 2 digits of every component ].map(component => component.slice(-2)); // دریافت 2 رقم آخر هر جزء
// join the components into date // متصل کردن اجزاء برای ایجاد تاریخ return d.slice(0, 3).join('.') + ' ' + d.slice(3).join(':'); }
Expand All
@@ -40,11 +40,11 @@ alert( formatDate(new Date(new Date - 30 * 1000)) ); // "30 sec. ago"
alert( formatDate(new Date(new Date - 5 * 60 * 1000)) ); // "5 min. ago"
// yesterday's date like 31.12.2016 20:00 // تاریخ دیروز مانند 20:00 31.12.2016 alert( formatDate(new Date(new Date - 86400 * 1000)) ); ```
Alternative solution: راه حل جایگزین:
```js run function formatDate(date) {Expand All
@@ -58,7 +58,7 @@ function formatDate(date) {
let diffMin = diffSec / 60;
let diffHour = diffMin / 60;
// formatting // تغییر دادن شکل year = year.toString().slice(-2); month = month < 10 ? '0' + month : month; dayOfMonth = dayOfMonth < 10 ? '0' + dayOfMonth : dayOfMonth;Expand Down
```js run demo function formatDate(date) { let diff = new Date() - date; // the difference in milliseconds let diff = new Date() - date; // تفاضل به میلیثانیه
if (diff < 1000) { // less than 1 second return 'right now'; }
let sec = Math.floor(diff / 1000); // convert diff to seconds let sec = Math.floor(diff / 1000); // به ثانیه diff تبدیل
if (sec < 60) { return sec + ' sec. ago'; }
let min = Math.floor(diff / 60000); // convert diff to minutes let min = Math.floor(diff / 60000); // به دقیقه diff تبدیل if (min < 60) { return min + ' min. ago'; }
// format the date // add leading zeroes to single-digit day/month/hours/minutes // تغییر دادن شکل تاریخ // اضافه کردن صفر به دقیقه/ساعت/ماه/روز تک رقمی let d = date; d = [ '0' + d.getDate(), '0' + (d.getMonth() + 1), '' + d.getFullYear(), '0' + d.getHours(), '0' + d.getMinutes() ].map(component => component.slice(-2)); // take last 2 digits of every component ].map(component => component.slice(-2)); // دریافت 2 رقم آخر هر جزء
// join the components into date // متصل کردن اجزاء برای ایجاد تاریخ return d.slice(0, 3).join('.') + ' ' + d.slice(3).join(':'); }
alert( formatDate(new Date(new Date - 5 * 60 * 1000)) ); // "5 min. ago"
// yesterday's date like 31.12.2016 20:00 // تاریخ دیروز مانند 20:00 31.12.2016 alert( formatDate(new Date(new Date - 86400 * 1000)) ); ```
Alternative solution: راه حل جایگزین:
```js run function formatDate(date) {
// formatting // تغییر دادن شکل year = year.toString().slice(-2); month = month < 10 ? '0' + month : month; dayOfMonth = dayOfMonth < 10 ? '0' + dayOfMonth : dayOfMonth;