Apple - How to sort photos inside a photo album in the Photos app on an iPhone by date [PC]?

I have had the same question for years. Unfortunately, iOS uses Date Added and not Date Taken from EXIF for sorting. They even added Collections but Camera Roll sorting is still broken.
To sort the photos you could use one of the methods:

  1. Jailbreak. A number of tweaks allow organising photos one by one or sorting by name/date. You would also be able to edit each photo's metadata on device.

  2. Sync them as an album from a computer. First, organise them by copying or otherwise modifying the date metadata, then sync the resulting folder through iTunes. This is limited to the synced album and will not fix the camera roll.

  3. Direct import and Photos.sqlite rebuild. Having spent another year on this and currently in the process of moving my 5 year camera roll to a new device, the method I plan to use: same as above, prepare metadata on a computer (set every possible date field correctly, e.g. with Attribute Changer). Import photos into DCIM. Delete/rebuild Photos.sqlite. Delete DCIM.plist, or set it manually for iOS to know how to name photos when you take them.

  4. Make changes to Photos.sqlite. This should work unless Apple modifies databases. This is sort of the best option available without resorting to mass EXIF editing/renaming, and will only work/make sense if underlying EXIF/file attributes in your photos is correct. If you can see metadata is wrong, this is useless. Details are here.
    N.B: double check dates on PNGs/videQuickTime files and their exif is tricky).

Further investigation confirms this appears to work on iOS 11. Only points to note on later iOSs: clear out iCloud Photo Library folders CLOUD folders in DCIM, or just turn it off), and also delete the Mutations folder in PhotoData (holds edits AFAIK, if any have the same name as the new import you'll have weird conflicts).

Also, the way iOS generates ZDATEADDED appears to be dependent on indexing order and hence naming of the files.

So if you want the Camera Roll to be ordered correctly (without having to resort to SQL commands on the db) by EXIF/file data, you'd need to bulk rename pre-sorted (by date field of your choice) files in order, and then import. The easiest attribute to pre-sort by is Date Modified since all files will have it and it generally remains the same through all the manipulations described above. Obviously, you'd want/need to use something like Attribute Changer (Win) or Better Find Attributes (macOS) to first synchronise EXIF and file attributes.