日食发生的条件有哪些