Getting Input

Getting input covers common ways users can insert data into a certain context.

How can I:

let users enter a value?

let users enter text?

let users select a predefined value?

let users select multiple items?

set time and date?