alexa-tracking

[ASK] Bingung dengan javascript Date DIFF

Main Content

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

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
KASKUS Ads
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 ');

sip gan
×