c shell perl php下的日期時間轉換: 秒數與人類可讀日期 scalar localtime 與 seconds since `00:00:00 1970-01-01 UTC'
scalar localtime 26-byte string 與 seconds since `00:00:00 1970-01-01 UTC'
(1970年1月1日淩晨零點以來的秒數)
the number of seconds that have passed since the Epoch: 00:00:00 January 1, 1970, Coordinated Universal Time (UTC).
c:
《Advanced Programming in the UNIX Environment: Second Edition》
簡稱《APUE》 Seciont 6.10 Figure 6.8. Relationship of the various time functions 說的清楚
#include <time.h>
time_t time(time_t *calptr);
struct tm *localtime(const time_t *calptr);
struct tm *gmtime(const time_t *calptr);
time_t mktime(struct tm *tmptr);
char *asctime(const struct tm *tmptr);
char *ctime(const time_t *calptr);
size_t strftime(char *restrict buf, size_t maxsize,
const char *restrict format,
const struct tm *restrict tmptr);
shell:
% date +%s
1128621784
% date -d "1970-01-01 UTC 1128621784 seconds"
Fri Oct 7 02:03:04 CST 2005
date -d "1970-01-01 UTC 1128621784 seconds" +"%Y-%m-%d %H:%M:%S"
2005-10-07 02:03:04
perl:
% perl -e 'print scalar localtime 1128621784'
Fri Oct 7 02:03:04 2005
php:
date('Y-m-d H:i:s',time());