\hspace is not working after \newline command

What your code does

From the unofficial LaTeX reference manual, sec. 20.1:

LaTeX normally removes horizontal space that comes at the beginning or end of a line. To preserve this space, use the optional * form [of \hspace].

So let’s use \hspace* instead:

\documentclass[]{article}
\begin{document}
    \section*{Affirmation}
    \addcontentsline{toc}{section}{Affirmation}
    \hspace{1cm}something
    \vspace{2cm}
    \hspace{1cm}city, date \hspace{3cm}\line(1,0){200}
    \newline
    \hspace*{8cm}(name)
    \clearpage
\end{document}

output

What your picture says

The rest of the spacing is pretty different from your output because your screen shot was quite certainly not produced by the code you posted. With a bit of guesswork, I think this is closer to what you intended (note that you have to use the starred version of \hspace in several instances):

\documentclass{article}
\begin{document}
\section*{Affirmation}
\addcontentsline{toc}{section}{Affirmation}
\hspace*{1cm}something

\vspace{2cm}

\noindent\hspace*{1cm}city, date \hspace{3cm}\line(1,0){200}
\newline
\noindent\hspace*{8cm}(name)
\end{document}

output

What I would suggest

Taking your layout and thinking about an implementation, I would do something like this, which is cleaner than meddling with a lot of spacing manually:

\documentclass{article}
\begin{document}
\section*{Affirmation}
\addcontentsline{toc}{section}{Affirmation}

something\\[2cm]
city, date \hfill
\begin{minipage}[t]{7cm}\centering
    \rule{\linewidth}{.5pt}\\
    (name)
\end{minipage}

\end{document}

output


As @doncherry said you can fix the problem using the starred version \hspace*{}. But I'm giving here an alternative solution to you to produce a line to sign. I usually use it.

\begin{flushright}
\begin{minipage}{6cm}
\begin{center}
\hrulefill\\
(date)
\end{center}
\end{minipage}
\end{flushright}

enter image description here