How to sort WP_Post Object array by object field in php?

I am wondering what changes I should make in the php code above so that it sorts WP_Post object array order by date.

WordPress/PHP does not sort the objects, that’s not how this works. Additionally, the sort argument does not take the name of object fields. The two are not connected. The order of the posts is determined by the results of rows from the post table returned by the SQL query.

Instead, sort is a parameter used to construct an SQL query. If we look at the documentation we can see the valid values, so you are already using the correct order parameters:

$area_query = new \WP_Query( [
    's'           => $search,
    'post_type'   => 'abc-xyz',
    'post_status' => 'publish',
    'orderby'     => 'date',
    'order'       => 'ASC',
] );

The above code is asking the database for posts, srted by date in ascending order ( e.g. 1AD, 2AD, 500AD, 1000AD, 2000AD, etc ). It may be that you wanted the reverse.

Note that if you are storing the data in post meta, this will not work, the date here is the date the post was published.