获取当前UnixTime的零点时间戳
最近有个需求,开屏广告每天只出一次。
思路为如果出了开屏广告,则记录当前时间,下次来的时候,读取当前时间和上一次出开屏的时间。
算一下是不是在同一天即可。
我们的第一个想法是将上次开屏时间和当前时间归一到 0 点进行比较(其实有写个更简单的方法)。
所以我们需要获取某一个时间戳 当天的 0点。
可以采用 localtime_r 的方式,如 这篇文章 C/C++代码获取今天凌晨零点零时零分的时间戳,但之前的blog中也写了,这个函数的实现有个全局锁,会影响效率。
所以想通过一些简单的计算来得到0点。
找到的公式为:NowTime - (NowTime + 8 * 3600) % 86400
NowTime % 86400是0时区当天的秒数,那+8时区应该是NowTime % 86400 + 8 * 3600,由于这个数字可能大于86400,所以用(NowTime % 86400 + 8 * 3600) % 86400
等价于(NowTime + 8 * 3600) % 86400
获取当前UnixTime的零点时间戳的更多相关文章
- JS 获取本月第一天零点时间戳并转化成yy-mm-dd
JS 获取本月第一天零点时间戳并转化成yy-mm-dd 格式 <!DOCTYPE html> <html> <head> <meta charset=&quo ...
- Java获取精确到秒的时间戳(转)
1.时间戳简介: 时间戳的定义:通常是一个字符序列,唯一地标识某一刻的时间.数字时间戳技术是数字签名技术一种变种的应用.是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01 ...
- Java获取精确到毫秒的时间戳
import java.util.Date; public class Timestamp { /** 获取精确到毫秒的时间戳 * @param date * @return **/ public s ...
- Java获取精确到秒的时间戳
1.时间戳简介: 时间戳的定义:通常是一个字符序列,唯一地标识某一刻的时间.数字时间戳技术是数字签名技术一种变种的应用.是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01 ...
- php获取一个月前的时间戳,获取三个月前的时间戳,获取一年前的时间戳
strtotime 非常强大的一个获取时间戳的函数 php获取一个月前的时间戳: strtotime("-0 year -1 month -0 day"); php获取三个月前的时 ...
- 使用PHP获取时间今天 明天 昨天 时间戳的详解
使用php获取时间今天明天昨天时间戳 2013-06-20 11:12 <?php echo "今天:".date("Y-m-d")."< ...
- 【转】PHP中获取当前系统时间、时间戳
今天写下otime($time, $now)为将时间格式转为时间戳,$time为必填.清楚了这个,想了解更多,请继续往下看. 3. date($format)用法比如:echo date('Y-m-d ...
- 字符串长度计算、截取、url参数获取、计算百分比、时间戳格式化
1.中英混合文字字符截取 //中文长度截取计算,可取中英混合,个数向上取整,精确度1个英文字符误差,一个英文算一个字符,一个汉字算一个字符. //sub("中文zlsd",1) - ...
- php中获取当前系统时间、时间戳
今天写下otime($time, $now)为将时间格式转为时间戳,$time为必填.清楚了这个,想了解更多,请继续往下看. 3. date($format)用法比如:echo date(‘Y-m-d ...
随机推荐
- BZOJ2160 拉拉队排练【Manacher】
Description 艾利斯顿商学院篮球队要参加一年一度的市篮球比赛了.拉拉队是篮球比赛的一个看点,好的拉拉队往往能帮助球队增加士气,赢得最终的比赛.所以作为拉拉队队长的楚雨荨同学知道,帮助篮球队训 ...
- 《DSP using MATLAB》示例Example 8.10
这个例子的代码我不会写,只是放一张书的截图图片在这里.以后再改进吧.
- numpy 排序, 查询功能
https://docs.scipy.org/doc/numpy/reference/routines.sort.html
- Toxiproxy 网络情况模式代理
1. 介绍 Toxiproxy is a framework for simulating network conditions. It's made specifically to work in ...
- MySQL5.6版本性能调优my.cnf详解
[client] port = 3306 socket = /tmp/mysql.sock [mysqld] port = 3306 socket = /tmp/mysql.sock basedir ...
- springboot注册bean失败
启动的主类应该放在和其他包一样的目录,不能放在一个目录里面
- bzoj 4816 [Sdoi2017]数字表格——反演
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4816 \( ans=\prod\limits_{d=1}^{n}f[d]^{\sum\lim ...
- 洛谷【P4551】最长异或路径
浅谈\(Trie\):https://www.cnblogs.com/AKMer/p/10444829.html 题目传送门:https://www.luogu.org/problemnew/show ...
- xdebug : Debug session was finished without being paused
一.当调试模式出现说路径不匹配的时候,需要检查当前请求的URL和设置断点的是否在同样的位置 Debug session was finished without being paused It may ...
- linux(centos)下安装ffmpeg
[备忘]windows环境下20行php代码搞定音频裁剪 上次我的这篇文章将了windows下web中如何操作ffmpeg的文章,这里则记录下linux(centos)下的安装 首先:我花了中午大概1 ...