\$\begingroup\$

Given that the Chinese New Year is coming, here is a challenge to calculate the Chinese Zodiac, element and Taijitu for a given date.

The input should be a date:

1/31/2014

The date used here is the US style mm/dd/yyyy , but may alternatively be ISO-8601 style: yyyy-mm-dd so the style of date input is not strict.

The output should be the animal sign in the Chinese Zodiac including the element that corresponds to the date, and its Taijitu counterpart:

Horse - Wood - Yang

A table showing the Zodiac - element - Taijitu relationship can be seen here: Chinese Zodiac - Years

The output format is not strict but should contain animal, element and Taijitu component, and should be delimited in some fashion.

Examples of valid output for the above date might include:

(horse, wood, yang) ["Horse", "Wood", "Yang"]

Your program should return valid output for a range of at least 100 years, including today's date. This means that it will need to account for at least two 60 year (Sexagenary) cycles.