alexa-tracking
Selamat Guest, Agan dapat mencoba tampilan baru KASKUS Masih Kangen Tampilan Sebelumnya
Kategori
Kategori
Home / FORUM / All / Tech / ... / Website, Webmaster, Webdeveloper /
[ASK] Bingung dengan javascript Date DIFF
1024
1024
KASKUS
51
244
https://www.kaskus.co.id/thread/55a032ab56e6aff2668b4568/ask-bingung-dengan-javascript-date-diff

[ASK] Bingung dengan javascript Date DIFF

Langsung saja ya gan..ane ada masalah yang sampai sekarang rada bingung. jadi, ane ada kasus begini :

Days ?
Week ?
Month ?

kalau ane masukkan tanggal 11-07-2015 s/d 13-08-2015 nah ntar bakal begini jadinya gan ,

Days : 2
Week : 0
Month : 1

contoh lain : 11-07-2015 s/d 19-08-2015 hasilnya,

Days : 1
Week : 1
Month : 1


ada yang bisa kasih solusi buat nyari bisa jadi begono..ane udah coba ngikutin stackoverflow..tapi tetap aja kagak nemu. pleasee...kagak berhasil2 ane..udah coba pake MOMENT.js juga sama...


SUDAH CLEAR...HEHEHE

Diubah oleh Jack2001
Beri apresiasi terhadap thread ini Gan!
Quote:


var start = new Date(),
var end = new Date(),
var diff = new Date(end - start),
var year1=start.getFullYear();
var year2=end.getFullYear();
var month1=start.getMonth();
var month2=end.getMonth();
var days = diff/1000/60/60/24; //selisih hari
if(month1===0){
month1++;
month2++;
}
// di js, january dihitung 0

var numberOfMonths;
numberOfMonths = (year2 - year1) * 12 + (month2 - month1) - 1;
// selisih bulan tanpa month1 dan month
numberOfMonths = (year2 - year1) * 12 + (month2 - month1) + 1;
// selisah bulan dengan month1 dan month2
var numberofYears;
numberOfYears = (year2 - year1);
//selisih tahun

jangan lupa gan di var start = new Date() dan var end = new Date() dimasukin tanggalnya
eh sorry weeks ternyata ane kira years..haha..

itu buat weeks, tinggal selisih bulan dikali 4 aja keknya
Quote:


Thank's gan... untuk script yang sudah bisa seperti ini gan...soalnya ini juga bisa diterapkan di EXTJS atau jS Native

Code:

var vdate1 = '12-06-2015';
var parts1 = vdate1.split('-');
var date1 = new Date(parseInt(parts1[2], 10), // year
parseInt(parts1[1], 10) - 1, // month, starts with 0
parseInt(parts1[0], 10)); // day


var vdate2 = '16-06-2015';
var parts2 = vdate2.split('-');
var date2 = new Date(parseInt(parts2[2], 10), // year
parseInt(parts2[1], 10) - 1, // month, starts with 0
parseInt(parts2[0], 10)); // day
var yeardiff = 0;
var monthdiff = 0;
var daydiff = 0;
var weekdiff = 0;
yeardiff = parseInt(parts2[2], 10) - parseInt(parts1[2], 10);
if(yeardiff > 0) {
//Change Year
monthdiff = parseInt(parts2[1], 10) + 12 - parseInt(parts1[1], 10);
}else {
monthdiff = parseInt(parts2[1], 10) - parseInt(parts1[1], 10);
}
if(monthdiff > 0) {
if (parseInt(parts2[0], 10) >= parseInt(parts1[0], 10)) {
daydiff = parseInt(parts2[0], 10) - parseInt(parts1[0], 10);
}else {
monthdiff--;
diff = new Date(date2 - date1),
daydiff = diff/1000/60/60/24;
}
} else {
daydiff = parseInt(parts2[0], 10) - parseInt(parts1[0], 10);
}
if(daydiff >= 7) {
weekdiff = Math.floor(daydiff/7);
daydiff = daydiff % 7;
}

var bulan = monthdiff;
var hari = daydiff;
var weekly = weekdiff;

// hasil bisa di pake alerts ....>> (hari +' Hari' + weekly + ' Minggu' + bulan + ' Bulan ');

Diubah oleh Jack2001
sip gan


×
GDP Network
© 2018 KASKUS, PT Darta Media Indonesia. All rights reserved
Ikuti KASKUS di