Needs to be "YYYYMMDD" (no punctuation) for DATETIME datatype. Its seems that "YYYY-MM-DD" is unambiguous for DATE datatype, but because it has always been ambiguous for DateTime we never use that format and stick to "YYYYMMDD" (ISO format "YYYY-MM-DDThh@mm:ss.sss" is also unambiguous, requires both the punctuation and the "T" separator; no other format is "safe" without an explicit conversion as SQL's parsing rules could interpret it in all sorts of different ways depending on Server Locale, User's Language setting, and so on ...
SET LANGUAGE ENGLISH
GO
SELECT CONVERT(datetime, '2015-12-31')
GO
SET LANGUAGE FRENCH
GO
SELECT CONVERT(datetime, '2015-12-31')
GO
will give you an error with French language set (it is actually assuming the format is YYYY-DD-MM)
If you change DATETIME to DATE then it will work without error
Personally I hate the inconsistency and would have preferred MS has NOT "fixed" this when DATE datatype was introduced.