pyspark.sql.functions.date_format - returns incorrect year for last day of the year
Pyspark Version: version 2.3.0.cloudera3 Python version : Python 2.7.5
When I try to reformat last date of the year using the function date_format in pyspark, it returns the next year when used with "YYYY" instead of "yyyy".
>>> from pyspark.sql.functions import *
>>> dftest = spark.createDataFrame([('2017-12-31',)], ['dt'])
>>> dftest.select(date_format('dt', 'MM/dd/yyy').alias('date')).collect()
[Row(date=u'12/31/2017')]
>>> dftest.select(date_format('dt', 'MM/dd/yyyy').alias('date')).collect()
[Row(date=u'12/31/2017')]
>>> dftest.select(date_format('dt', 'MM/dd/YYY').alias('date')).collect()
[Row(date=u'12/31/2018')]
>>> dftest.select(date_format('dt', 'MM/dd/YYYY').alias('date')).collect()
[Row(date=u'12/31/2018')]
How is "YYYY" (upper case) different from "yyyy" (lower case)?