The application that stands out for this is The Photographers Ephemeris.
- Free/Web-based desktop application.
- Available from the Play Store for Android for a reasonable price (UK £3.22).
- Also available for iOS.
Does basically all you are asking for and more, (lifted from the App Store Blurb):
The Photographer's Ephemeris (TPE) helps you plan outdoor photography shoots.
TPE is a map-centric sun and moon calculator: see how the light will fall on the land, be it day or night, for almost anywhere on earth.
Ideal for landscape, nature, travel and outdoor photographers, TPE's map-based approach means you can search for any place name on the planet or position the map pin exactly where you want it.
Advanced features include: automatic time zone and elevation detection, correction for atmospheric refraction and height above the horizon. You can even determine when the sun or moon will be visible from behind nearby hills and mountains.
- Time and direction of sunrise and sunset
- Time and direction of moonrise and moonset
- Phase of the moon and % illumination
- Times of civil, nautical and astronomical twilight
- Graphical display on a map (Standard, Satellite, Hybrid, Terrain)
- Rotate and tilt the map for the optimal view
- Compass-based auto-rotation of the map
- Movable map pins - drag and drop the pin exactly where you need it
- Search for locations by place name or enter coordinates directly
- Save any location you want - no fixed lists
- All features available in both portrait and landscape mode
- Does not require network connection for rise/set time, azimuths and sun/moon position
- Automatic time zone detection for any location on earth
- Determines elevation above sea level
- View azimuth and altitude of sun/moon for any time of day/night
- Distance, bearing and elevation angle between any two points
- Import locations from KML files
- Find when the sun/moon will appear from behind a hill
- Compensation for atmospheric refraction
- Compensation for elevation above the horizon
- Maps and elevation-based calculations require a data connection to function
- Locations outside ±80° latitude (very far north and south) are unsupported
- Map auto-rotate requires a compatible device (with magnetometer and accelerometer)
- Requires that you have Google Play Services and Google Maps installed on your device. Most devices already have both installed. TPE will prompt you to install these if they are missing.