首先,需要看你的php时区配置参数

方式1:更改php配置文件,然后从其fast-cgi或者php调用的地方;

方式2:date_default_timezone_set('PRC');

date函数用于日期函数的获取,这里需要注意的,date得到的我们可以理解为概念时间,跟地区有关系。如北京时间和伦敦时间同一个时刻对应不同的时间有8小时的时差,北京时间早8小时。

time和strtotime得到的是物理时间,不存在和地区的联系,全球统一。

在项目有需要计算1970开始的第几天,这里就出现了问题。用时间秒去算的时候。

北京时间2016-01-14 4:00:00和2016-01-13 13:00:00得到同一个时间。

所以用strtotime转换到时间戳是内部有减去地区时间差的操作。

// 1970年1月1日至今的天数, 生成courseVideoGUID用, 截取16位
$currentTimeStamp = time();
p($currentTimeStamp);
$currentTimeStamp = ($currentTimeStamp - ($currentTimeStamp % 86400)) / 86400;
$currentTimeStamp = ($currentTimeStamp & 0xFFFF);
p($currentTimeStamp);

// 1970年1月1日至今的天数, 生成courseVideoGUID用, 截取16位
$currentTimeStamp = strtotime(date('Y-m-d H:i:s'));
p($currentTimeStamp);
$currentTimeStamp = ($currentTimeStamp - ($currentTimeStamp % 86400)) / 86400;
$currentTimeStamp = ($currentTimeStamp & 0xFFFF);
p($currentTimeStamp);

// 1970年1月1日至今的天数, 生成courseVideoGUID用, 截取16位
$currentTimeStamp = strtotime('2016-04-14 07:00:00');
p($currentTimeStamp);
$currentTimeStamp = ($currentTimeStamp - ($currentTimeStamp % 86400)) / 86400;
$currentTimeStamp = ($currentTimeStamp & 0xFFFF);
p($currentTimeStamp);

PHP 时间 date,strtotime ,time计算1970开始的第几天的更多相关文章

  1. js时间Date对象介绍及解决getTime转换为8点的问题

    前言 在做时间转换的时候,发现用“2016-04-12”转出来的时间戳是 2016-04-12 08:00的时间点,而不是0点. new Date('2016-04-12').getTime(); ) ...

  2. 修改Linux系统日期与时间date clock

    先设置日期 date -s 20080103 再设置时间 date -s 18:24:30 为了永久生效,需要将修改的时间写入CMOS. 查看CMOS的时间: #clock -r 将当前系统时间写到C ...

  3. linux修改系统时间date命令加clock -w

    http://m.jb51.net/LINUXjishu/117784.html 修改linux系统时间的方法(date命令) 11-18 23:22:27作者:脚本之家 命令格式为: date -s ...

  4. jsp页面根据当前时间和定义时间差计算动态倒计时

    jsp页面根据当前时间和定义时间差计算动态倒计时http://www.jb51.net/article/74140.htm    var maxtime =1000*60; //半个小时,按秒计算,自 ...

  5. js常用数据类型(Number,String,undefined,boolean) 引用类型( function,object,null ),其他数据类型( 数组Array,时间Date,正则RegExp ),数组与对象的使用

    js常用数据类型 数字类型 | 字符串类型 | 未定义类型 | 布尔类型 typeof()函数查看变量类型 数字类型  Number var a1 = 10; var a2 = 3.66; conso ...

  6. Linux下查看设设置时间date命令

    查看时间 # date "+%Y_%m_%d  %H-%M-%S" 设置时间 #date -s "2018-05-17 09:51:50" //写入到硬件时钟 ...

  7. 00007 - Linux时间date命令详解

    1.命令:date 2.命令功能:date 可以用来显示或设定系统的日期与时间. 3.命令参数 -d<字符串>:显示字符串所指的日期与时间.字符串前后必须加上双引号: -s<字符串& ...

  8. Java 日期时间 Date类型,long类型,String类型表现形式的转换

    Java 日期时间 Date类型,long类型,String类型表现形式的转换 1.java.util.Date类型转换成long类型 java.util.Date dt = new Date(); ...

  9. springmvc时间(date)无法转入后台(@DateTimeFormat+@JsonFormat(GMT+8))

    spring时间(date)无法转入后台 Type Status Report Description The server cannot or will not process the reques ...

随机推荐

  1. ubuntu 下安装 wxpython2.8

    echo "deb http://archive.ubuntu.com/ubuntu wily main universe" | sudo tee /etc/apt/sources ...

  2. hduoj 4710 Balls Rearrangement 2013 ACM/ICPC Asia Regional Online —— Warmup

    http://acm.hdu.edu.cn/showproblem.php?pid=4710 Balls Rearrangement Time Limit: 6000/3000 MS (Java/Ot ...

  3. stl中的push_back

    v_data.push_back(pdata);这句只是把指针pdata拷贝到 vector当中的一个指针p1当中 注意是拷贝也就是说当前pdata和p1指向同一个东西,p1在vector中.并不是将 ...

  4. 反射调用方法时的两种情况,走get set和不走get set

    @Test public void test1() throws Exception{  //获取User类  Class class1=Class.forName("cn.jbit.bea ...

  5. 让我们的svg起飞,兼容ie9的神器

    <svg xmlns="http://www.w3.org/2000/svg" width="320px" height="200px" ...

  6. C语言回顾-运算符和循环

    1.运算符 连接操作数,构成表达式 按功能划分: 1)算术运算符 + - *  / % 2)关系运算符 3)逻辑运算符 4)按位运算符 按操作数划分: 1)单目运算符 2)双目运算符 3)三目运算符 ...

  7. 提高Oracle的WHERE语句性能一些原则

    索引是表的一个概念部分 , 用来提高检索数据的效率, ORACLE 使用了一个复杂的自平衡 B-tree 结构 . 通常 , 通过索引查询数据比全表扫描要快 . 当 ORACLE 找出执行查询和 Up ...

  8. android常见问题

    1.广播接收器中启动Activity,需要在intent中添加FLAG_ACTIVITY_NEW_TASK /** * Demo描述: * 在BroadcastReceiver中启动Activity的 ...

  9. AtCoder Beginner Contest 050 ABC题

    A - Addition and Subtraction Easy Time limit : 2sec / Memory limit : 256MB Score : 100 points Proble ...

  10. ado.net C#如何实现数据库增删改查

    ado.net数据库访问技术将数据库中的数据,提取到内存中,展示给用户看还可以将内存中的数据写入数据库中去 并不是唯一的数据库访问技术,但是它是最底层的数据库访问技术也就是说是最麻烦但是是最不可缺少的 ...