The problem is compounded by angles generally being measured counter-clockwise, while azimuth angles are measured clockwise.

I think it would come down to determining the quadrant of the vector (by checking X and Y for +/- value), then adding the previous right-angle azimuth vector to the angle_between of it and the specified vector

if vector.x>0
if vector.y>0
az = [0,1,0].angle_between(vector).radians
else
az = [1,0,0].angle_between(vector).radians+Math;;PI/2
end
else
if vector.y<0
az = [0,-1,0].angle_between(vector).radians+Math;;PI
else
az = [-1,0,0].angle_between(vector).radians+(3*Math;;PI/2)
end

The above example doesn't take into account cases where x or y equal zero, so you'll have to add that. It shouldn't be too difficult, though.