PHP和Java和MySQL中的时间类型

继之前的文章,其实现在正在自己创业,2017.7.8正式从上海唐娃离职,我有一个很重要的原因,我的一帮朋友(目前是我的合伙人),如果这个时候再不回来实现自己的梦想就来不及了,合伙人找起来真的比找个老婆结婚过日子还难,我们这几天一直在开发产品,我的能力自然也就直接负责Android和Php两大部分,还有韦耀和我一起写Server,目前使用php把。之后有时间再详细说我这段时间的心路历程!

timestamp:

Java中的时间戳:

long time = System.currentTimeMillis();
java中的时间戳很典型: 格林威治时间(UNix诞生的时间开始算) 1970年01月01日00时00分00秒起至现在的总毫秒数,其中java语句取出数据位long型。

php中的时间戳:格林威治时间1970年01月01日00时00分00秒起至现在的总秒数,而且取出的数据直接使字符串类型。

Mysql中的timestamp:格林威治时间1970年01月01日00时00分00秒起至2038-01-19 11:14:07,为什么这么精确呢,因为MySQL中的timestamp类型在数据表中只占4个字节,也就是一个INT型,int型最大2147483647,所以很精确,到秒哦,所以当Android给PHP传输数据的时候,记得把Android的long型时间戳除以1000,转换为秒的,这样方便PHP计算和存储。

顺便附送Mysql和php数据操控的函数和语句。

Mysql中的datetime:有点像long型的数据,8位的,可以存储到9999-12-31 23:59:59,反正就是上千年了,够用了,以后怎么描述时间还未必呢。哈哈哈

echo date_default_timezone_get();//默认柏林的时区
date_default_timezone_set("Asia/Shanghai");

$time=date('Y-m-d H:i:s',1505226642);

$result = mysql_query("INSERT INTO tb_users(userid,time) VALUES('$userid','$time')");

注意事项:

1.存储的时候不能将时间戳1505226642直接写入MySQL语句,否则出现错误,不能存入

2.存储$time变量的时候必须使用单引号'',一是防止SQL注入,二是$time传入就是字符串数据传入的

3.php获取时间的时候你会发现和我们这的时间不太一样,后来发现原来是时区的问题,默认获取一下,echo一下,so,使用

date_default_timezone_set("Asia/Shanghai");设置一下,就是我们中国的时区了(中国统一使用一个时区)

注:我创业公司创建的自学软硬嵌入式QQ群:371776285


你可能感兴趣的:(小问题,Android)