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());