similar to emac's calendar generation, with chinese calendar and solar terms