That's because the server doesn't return it: it returns a 24 hour value instead of an AM / PM one.
But that's fine, because once you have processed it into a DateTime value it's irrelevant anyway - a DateTime doesn't need to know.
AM/PM is a presentation function - it is only relevant when you convert a DatetIme to a string - and you code is using the default Date setting for your PC to decide how to format the date because you do not specify any particular format:
nets = localDateTime.ToString();
If you want a specific format, you have to say exactly what you want. This may help:
Formatting a DateTime for display - format string description[
^]
And BTW: I would strongly suggest that you don't trim the NIST string so much: you are stripping out the leading two digits of the year. This means that your code will only work for dates in the current century, so if you later reuse some of that code it could start giving you bad values. the NIST string includes the full year, so I'd string it out complete, and use ParseExact to process "yyyy-MM-dd hh:mm:ss" instead.