When you upload a photo it might happen the photo appears on the timeline at the date you uploaded it, not at the date it was actually taken. It means the photo lacks the Exif date information for some reason: it was digitized, removed by a photo editor etc.
Use an Exif manipulation tool. I've got exiv2 for Linux.
To see what information the photo file includes:
exiv2 -pt filename
The date the image was taken should be stored in Exif.Photo.DateTimeOriginal
field. Add this info if there is no any:
exiv2 -M"add Exif.Photo.DateTimeOriginal 2004:03:01 00:00:00" filename
Or change the date and time:
exiv2 -M"set Exif.Photo.DateTimeOriginal 2004:03:01 00:00:00" filename
Read exiv2 manual for more information.