How to send e-mail to node author 1w before date field in node?
Requirements
Rules, Rules UI, Rules Scheduler, Date, and Date API modules
Add date field
Go to your content types Manage Fields and add a field of type Date.
I called mine Deadline, machine name: field_deadline
Create a Rule
Action: After saving new content
Type: Article

This is all you have to do for now, will get back to this rule later.
Create a component
Component Plugin: Rule

Component action

Add action of Fetch Entity by Property



Add action Send Mail

To: [author-email:0]

Edit your Rule now

Add action of Schedule component evaluation. In SCHEDULED EVALUATION DATE click on the grey switch to data selection button. (not visible in screenshot since I already click it)



Testing
Go to the components tab and click on schedule

You'll need to click those grey switch to ...  buttons to get it to look like mine.
Put a node ID in the last one.


Important
Your e-mail will get sent once the time has been reached, but also once cron runs. So if your cron runs once a day, it may not get sent until the day after, so you may need to adjust your cron to run more often.
You might want to use Ultimate Cron so you can schedule specific crons to run at different intervals, instead of running everything every x minutes, days, hours.