I've got a tool which seems to be giving me dates without specifying the year that I need to convert and I'm using Java for the task (actually Groovy but close enough in this case). An example date is "13 Dec 12:00:00", which should refer to 12/13/2011 since the year is unspecified and it is 2011. The following Groovy script does the trick:

import java.text.*
println new SimpleDateFormat("dd MMM HH:mm:ss").parse("13 Dec 12:00:00")

My problem with this script is that SimpleDateFormat seems to be leaving the year unset at 1970 after conversion. I could explicitly set it to 2011 because that is the current year but there seems to be some lag between current year and the dates set so when New Years comes this script will get it wrong for that lag time. How can I fix it up simply? One solution would be to check if the date with current year is after now then use the last year but I'm hoping a simpler solution exists (or state that's the simplest if not).

Edit
Report