So the following techniques do extract the date and time, the problem is it is not arranged properly for this particular setup. Months must be changed to numbers.
Method 1:
Code:
dateFromServer=$(curl -v --silent https://google.com/ 2>&1 \
| grep Date | sed -e 's/< Date: //')
date +"%d%m%Y%H%M%S" -d "$dateFromServer"
The result is
'ate: invalid date 'Sat, 12 May 2018 18:49:18 GMT
I have tried re-arranging the code of this first command and it achieves nothing, ordering always stays the same.
Method 2: Get the date from a HTTP response header. Remove clutter. Set the date.
Code:
date -s `curl -I 'https://startpage.com/' 2>/dev/null | grep -i '^date:' | sed 's/^[Dd]ate: //g'`
The results I get are as follows:
Quote:
@Heyzeus:/tmp/home/root# date -s `curl -I 'https://google.com/' 2>/dev/null | grep -i '^date:' | sed 's/^[Dd]ate: //g'` BusyBox v1.25.1 (2018-05-06 13:19:15 EDT) multi-call binary.
Usage: date [OPTIONS] [+FMT] [TIME]
Display time (using +FMT), or set time
[-s,--set] TIME Set time to TIME
-u,--utc Work in UTC (don't convert to local time)
-R,--rfc-2822 Output RFC-2822 compliant date string
-I[SPEC] Output ISO-8601 compliant date string SPEC='date' (default) for date only, 'hours', 'minutes', or 'seconds' for date and time to the indicated precision
-r,--reference FILE Display last modification time of FILE
-d,--date TIME Display TIME, not 'now'
-D FMT Use FMT for -d TIME conversion
Recognized TIME formats: hh:mm[:ss] [YYYY.]MM.DD-hh:mm[:ss] YYYY-MM-DD hh:mm[:ss] [[[[[YY]YY]MM]DD]hh]mm[.ss] 'date TIME' form accepts MMDDhhmm[[YY]YY][.ss] instead
Another
|
Method 3:
Code:
date -s "$(wget -qSO- --max-redirect=0 startpage.com 2>&1 | grep Date: | cut -d' ' -f5-8)"
results in:
date: invalid date '13 May 2018 22:46:44' [wget code results in the closest match]
The time extracted in the first results is for example: "Sat, 12 May 2018 18:49:18 GMT" and date -s on AsusWRT requires something more like 2018-05-12 18:49:18 [this works] Or as listed under "recognized time formats."
For the first one, "Sat," needs to be removed, month needs replacing with a number, and then arranged properly; Wget requires the month be turned to a number, and arranged as follows 2018-05-12 18:49:18; Would like to have curl and certainly wget versions if possible.
If this could be done exclusively in a single terminal command that would be phenomenal.