Created
September 27, 2017 02:21
-
-
Save dailymartin/f20f1c0adac6d5b0a5b4037de3f5c7e9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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