strptime() interprets the input value as a local time. It then subtracts 3 hours to get the output GMT epoch value.
But why in the first place epoch interpreted as "local time"? Epoch is not about timezones. It cannot be local or GMT..
From man 7 strptime:
%s The number of seconds since the Epoch, 1970-01-01 00:00:00
+0000 (UTC). Leap seconds are not counted unless leap second
support is available.
and number of seconds since specific moment of time is always same, independent of timezone
I found out that if you call strptime() as a Class method, instead of as an object method, GMT is assumed
Ok, behaviour differs. Great finding! thx