You are selecting wrongly your elements in your code, as you are selecting an element by id passing an xpath to the function, it should be like this:
//....
driver.findElement(By.xpath("//div[2]/ul[3]/li[1]/i")).click();
driver.findElement(By.id(' a_2017_8_14'')).click();
//...
You can use ID for clicking it:
driver.findElement(By.id('a_2017_8_14')).click(); //use this format a_yyyy_m_d
you can also go back or forward by clicking the calendar arrows:
driver.findElement(By.className('js_btnNext')).click() // click the "next" arrow
driver.findElement(By.className('js_btnPrev')).click() // click the "prev" arrow
note that calendar must be visible when you click the day.