Both can be correct depending on whether "today" is unfinished or finished.
I have worked hard today, this week, this month, this summer, this year indicates that you view the time period as unfinished.
I worked hard yesterday, last week, last month, last summer, last year indicates that you view the time period as finished.
I worked hard today is reasonable if said in the evening after work. I worked hard today is bizarre if said at noon.