Hamlet (2000)
Hamlet (also referred to as Hamlet 2000) is a 2000 American film written and directed by Michael Almereyda, set in contemporary New York City, and based on the Shakespeare play of the same name. Ethan Hawke plays Hamlet as a film student, Kyle MacLachlan co-stars as Uncle Claudius, Gertrude by Diane Venora, Laertes by Liev Schreiber, Ophelia by Julia Stiles, Rosencrantz by Steve Zahn, and Hamlet's father by Sam Shepard.
More at Wikipedia.