Skip to content

Instantly share code, notes, and snippets.

@dailymartin
Created September 27, 2017 02:21
Show Gist options
  • Save dailymartin/f20f1c0adac6d5b0a5b4037de3f5c7e9 to your computer and use it in GitHub Desktop.
Save dailymartin/f20f1c0adac6d5b0a5b4037de3f5c7e9 to your computer and use it in GitHub Desktop.
d1 = new Date('2017-09-26')
d2 = new Date('2017-09-27')
d3 = new Date('2017-09-28')
d4 = new Date('2017-09-30')
d5 = new Date('2017-10-01')
d6 = new Date('2017-10-02')
d7 = new Date('2017-10-04')
d8 = new Date('2017-10-05')
d9 = new Date('2017-10-07')
dates = [d1, d2, d3, d4, d5, d6, d7, d8, d9];
result = "";
var toKoreanWeekDay = function(date) {
return date.toLocaleString('ko-kr', { weekday : 'short' });
}
var getTomorrow = function(date) {
tomorrow = date + 1;
return tomorrow == 7 ? 0 : tomorrow;
}
var getYesterday = function(date) {
yesterday = date - 1;
return yesterday == -1 ? 6 : yesterday;
}
var hasTomorrow = function(date, compare_date) {
return date == getYesterday(compare_date);
}
var hasYesterday = function(date, compare_date) {
return date == getTomorrow(compare_date);
}
var appendComma = function() {
return result += ",";
}
var appendTilt = function() {
return result += "~";
}
var appendWeekDay = function(date) {
return result += toKoreanWeekDay(date)
}
var main = function() {
for (var i = 0; i < dates.length; i++) {
if (i == 0) {
appendWeekDay(dates[i]);
continue;
}
date = dates[i].getUTCDay();
date_before = dates[i-1].getUTCDay();
if (i == dates.length - 1) {
if (hasYesterday(date, date_before)) {
appendTilt();
}
appendWeekDay(dates[i]);
continue;
}
date_after = dates[i+1].getUTCDay();
if (hasYesterday(date, date_before)) {
if (hasTomorrow(date, date_after)) {
continue;
} else {
appendTilt();
appendWeekDay(dates[i]);
appendComma();
}
} else {
appendWeekDay(dates[i]);
}
}
return result;
}
main();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment