Ok..assuming time from 12 to 23 hrs as before midnight and 0 to 11 hrs as after midnight, in other words as @Tony Andrews said midday is treated as 720 minutes before midnight
Here is another solution -
SELECT (
CASE
WHEN TO_CHAR(datetimefield,'HH24') BETWEEN 12 AND 23
THEN -1 * (60 * (12 - TO_CHAR(datetimefield,'HH')) - TO_CHAR(datetimefield,'MI'))
WHEN TO_CHAR(datetimefield,'HH24') BETWEEN 0 AND 11
THEN 60 * (TO_CHAR(datetimefield,'HH')) + TO_CHAR(datetimefield,'MI')
END) diff
FROM (select systimestamp datetimefield from dual);
I used my systemtimestamp for testing, You need to replace the the query select systimestamp datetimefield from dual
to fetch your own datetime field from your table to make it work for you.