Difference between “当…时”, “…的时候”, and “当…的时候”?
"当(~~~)时” is the shortened form of  “当(~~~)的时候"
  
  "(~~~)时” is the shortened form of  “(~~~)的时候"



“当(~~~)时” = “当(~~~)的时候” = "At the time when (~~~)" 


当 = at/ during
的时候 = the time when/ of



Example:

"当(没有其他选择)时" = "当(没有其他选择)的时候" = "At the time when (there's no other choice)"

you can replace '当' with '在' and write "在(没有其他选择)时"


"(~~~)时” = "(~~~)的时候” = "when(~~~)"


Example:

"(没有其他选择)时" = "(没有其他选择)的时候" = "when (there is no other choice)"