Retreive time from a http header

it is required for my project that I am able to get current time. I already use a get http method to retrieve other needed data which returns a header such as the following

HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Length: 335
Content-Type: application/json
Server: Microsoft-IIS/8.0
x-zumo-version: Zumo.master.
X-Powered-By: ASP.NET
Set-Cookie: ARRAffinity=a41548c54448b52e7fa7f10a48da99254a88fa857c3e9ca740239c98e0;Path=/;
Date: Fri, 22 Apr 2016 14:15:04 GMT
Connection: close

the above is stored in char c. currently I am getting the hour in gmt time and converting into pst by doing the following

String readString = String(100);
readString = readString +c;

   currenttime = readString.toInt();

 if (currenttime >= 7 ){
    currenttime = currenttime -7;
   if (currenttime < 7){
    currenttime = currenttime +17;

this seems to work for the most part but seems very inefficient to do by counting characters to remove, and I am unsure it will work with all dates. what would a better way to go about this be? is there any easier or more efficient way to parse out time? ideally I would like to store the current hour in one int and the current minute in another.

I apologize if the formatting is bad, this is my first post here so I am not sure how it all works quite yet
I look forward to seeing replies and greatly appreciate any help!

When you read the server response, store each line in a character array until you receive the '\n' character, then evaluate the first characters in the array for "Date". If it is, then process that line for the date and time.

If you have an ethernet shield, why not use NTP?

NTP was definitely the way to go here! I had not realized it was out there so thank you for pointing that out, I used this link and it works great! thanks for your help!