UTCタイムスタンプを指定していて、1970年1月1日以降の秒数が必要な場合は、次のようにします。
[...]
編集
私の元の答えを再検討し、それが気に入らなかったので、次の方が良いです:
// Given an ISO8601 UTC timestamp, or one formatted per the OP,
// return the time in seconds since 1970-01-01T00:00:00Z
function toSecondsSinceEpoch(s) {
s = s.split(/[-A-Z :\.]/i);
var d = new Date(Date.UTC(s[0], --s[1], s[2], s[3], s[4], s[5]));
return Math.round(d.getTime()/1000);
}
OPの文字列はISO8601に準拠していませんが、上記はそれで機能することに注意してください。タイムスタンプがローカルタイムゾーンにある場合は、次のようになります。
// Given an ISO8601 timestamp in the local timezone, or one formatted per the OP,
// return the time in seconds since 1970-01-01T00:00:00Z
function toSecondsSinceEpochLocal(s) {
s = s.split(/[-A-Z :\.]/i);
var d = new Date(s[0],--s[1],s[2],s[3],s[4],s[5]);
return Math.round(d.getTime()/1000);
}
小数秒に対応する必要がある場合は、小数部分をミリ秒に変換するためにもう少し手間がかかります。