首页 > 编程语言 >js时间戳和php时间戳

js时间戳和php时间戳

时间:2023-10-17 17:14:38浏览次数:33  
标签:10 13 js var 时间 Date new php

js时间转换

1、JavaScript 的时间对象转换为时间戳

1.1、时间对象转时间戳的 5 种写法

在 JavaScript 中,将时间对象转换为时间戳的方法有 5 种,示例如下:

// 定义一个时间对象 dt,然后依次演示各种将 dt 转换为时间戳的写法
var dt = new Date("2019-07-04 23:59:59.999");

// 写法一,精确到毫秒,得到 13 位时间戳 1562255999999
console.log(dt.getTime());

// 写法二,精确到毫秒,得到 13 位时间戳 1562255999999
console.log(dt.valueOf());

// 写法三,精确到毫秒,得到 13 位时间戳 1562255999999
console.log(Number(dt));

// 写法四,精确到毫秒,得到 13 位时间戳 1562255999999
console.log(+dt);

// 写法五,精确到秒,得到 13 位时间戳 1562255999000,后三位固定为 000
console.log(Date.parse(dt));

1.2、获得当前时间的时间戳

在 JavaScript 中,当前时间可用new Date()表示,再结合上文中时间对象转时间戳的写法,那么就能获得当前时间的时间戳了,示例如下:

new Date().getTime();   // 方法一
new Date().valueOf();   // 方法二
Date.parse(new Date()); // 方法三
Number(new Date());     // 方法四
+new Date();            // 方法五

.3、获得 10 位数的时间戳

在 JavaScript 中,通过时间对象转换得到的时间戳都是 13 位的,但有时候我们也需要精确到秒的 10 位时间戳,比如微信支付用的就是 10 位的时间戳。要在 JavaScript 获得 10 位的时间戳,大致思路有两个,要么截取前 10 位,要么除以 1000。示例如下:

// 将 13 位时间戳除以 1000 然后再取整,得到 10 位时间戳数字
parseInt(+new Date()/1000);

// 将 13 位时间戳转换为字符串截取前 10 位,得到 10 位时间戳字符串
(+new Date()).toString().substring(0,10); // 截取第 0~9 位
(+new Date()).toString().substr(0,10);    // 从第 0 位开始截取 10 位

4、时间的加减

  

 当使用js日期对象Date进行时间加减时,这个处理相对比较简单,直接调用Date对象的方法进行操作。只是Date对象最后需要进行格式化(格式化可以参考这篇文章“js 常用日期字符串和日期转换 ”),这样显示比较友好。

    示例代码如下

var curTime = new Date();
// curTime: Tue Oct 13 2020 16:44:47 GMT+0800 (中国标准时间)
console.log('curTime:', curTime);

// 1. 加上1个小时
var addHour = curTime.setHours(curTime.getHours() + 1);
// addHour: 1602582287529
console.log('addHour:', addHour);
// Tue Oct 13 2020 17:44:47 GMT+0800 (中国标准时间)
console.log(new Date(addHour));

// 2. 在当前时间curTime变量上加上10分钟
var addMinute = new Date(curTime.setMinutes(curTime.getMinutes() + 10));
// addMinute: Tue Oct 13 2020 17:54:47 GMT+0800 (中国标准时间)
console.log('addMinute:', addMinute);

// 3. 在当前时间curTime变量上加上1分40秒(100秒)
var addSeconds = new Date(curTime.setSeconds(curTime.getSeconds() + 100));
// addSeconds: Tue Oct 13 2020 17:56:27 GMT+0800 (中国标准时间)
console.log('addSeconds:', addSeconds);

5、 使用字符串日期的处理,首先需要将字符串转换为js的Date对象。后续的处理,和第一步相同。

    代码如下:

var rawdate = stringToDate('2020-10-13 12:00:01');
// 日期加上11秒
var addSecond = 11;
var resDate = new Date(rawdate.setSeconds(rawdate.getSeconds() + addSecond));
var res = format(resDate, "yyyy-MM-dd hh:mm:ss");
console.log(res);

// js字符串转日期Date
// 字符串格式:2020-10-13 12:00:01
function stringToDate(strDate) {
    var tempStrs = strDate.split(" ");

    var dateStrs = tempStrs[0].split("-");
    var year = parseInt(dateStrs[0], 10);
    var month = parseInt(dateStrs[1], 10) - 1;
    var day = parseInt(dateStrs[2], 10);

    var timeStrs = tempStrs[1].split(":");
    var hour = parseInt(timeStrs [0], 10);
    var minute = parseInt(timeStrs[1], 10);
    var second = parseInt(timeStrs[2], 10);

    var date = new Date(year, month, day, hour, minute, second);
    return date;
}

// js日期Date格式化为字符串
// 字符串格式:2020-10-13 12:00:01
function format(date, fmt) {
    var o = {
        "M+": date.getMonth() + 1, //月份
        "d+": date.getDate(), //日
        "h+": date.getHours(), //小时
        "m+": date.getMinutes(), //分
        "s+": date.getSeconds(), //秒
        "q+": Math.floor((date.getMonth() + 3) / 3), //季度
        "S": date.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
    }
    for (var k in o) {
        if (new RegExp("(" + k + ")").test(fmt)) {
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ?
                (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        }
    }
    return fmt;
}

 

标签:10,13,js,var,时间,Date,new,php
From: https://www.cnblogs.com/chenkg/p/17770149.html

相关文章

  • mysql json类型数据查询
    1、json对象1.1、方法使用对象操作的方法进行查询:字段->'$.json属性'使用函数进行查询:json_extract(字段,'$.json属性')获取JSON数组/对象长度:JSON_LENGTH()1.2、数据CREATETABLE`test`(`id`bigint(20)unsignedNOTNULLAUTO_INCREMENTCOMMENT'自增ID',`g......
  • fastjson JSONValidator 的使用记录
    在api的对接过程中,对方api总是会返回一些意想不到的格式回来,虽然你们已经约定好了使用json的方式返回!! 在调用一个api接口的时候结果就像薛定谔的猫是一个不确定的形态. 按照我之前的操作逻辑1判断结果空if(StringUtils.isEmpty(result)){return"结果空";}2......
  • js 冒泡排序
    1.冒泡排序人们开始学习排序算法时,通常都先学冒泡算法,因为它在所有排序算法中最简单。然而,从运行时间的角度来看,冒泡排序是最差的一个。冒泡排序比较所有相邻的两个项,如果第一个比第二个大,则交换它们。元素项向上移动至正确的顺序,就好像气泡升至表面一样,冒泡排序因此得名。编码思路......
  • ecshop | php接入支付宝申报海关接口的总结【避坑】
    第一次对接支付宝的报关接口,害!不明白这个流程是很难接上的,搞了一天半,终于给搞出来了。在这里留下一点文字吧。代码前工作:用支付宝的密钥生成工具生成一对2048的公私钥,这对公私钥用来完成支付宝支付的加签和验签。把公钥上传到开放平台密钥中对应使用的应用接口加签方式中,私钥......
  • C# DateTime 时间比较(只包含年月日时分不包含秒)
    一、DateTime.Compare(全时间比较)//摘要://比较系统的两个实例。DateTime,并返回一个整数,该整数指示//第一个实例是否早于、相同于或晚于第二个实例//例如。////参数://t1://第一个要比较的对象。......
  • JSVC简介
    JSVC简介及原理-掘金(juejin.cn)jsvc可以理解为类unix系统下的启动并守护java进程的可执行程序,属于ApacheCommonsDaemon项目。包括一下方法:voidinit(String[]arguments):Hereopenconfigurationfiles,createatracefile,createServerSockets,Threadsvoidsta......
  • 【原型链污染】Python与Js
    【原型链污染】Python与Js一、背景最近在TSCTF的比赛题中遇到了Python的原型链污染题目,所以借此机会学习一下。说到原型链,最多的还是在Js中,所以就一并学习一下。(因为是菜鸡所以文章可能的存在一些错误,欢迎批评指正)。二、JS原型链简介原型是Js代码中对象的继承方式。其实和别的......
  • 数据库SQL实战|牛客网(查找入职员工时间排名倒数第三的员工所有信息)
    描述有一个员工employees表简况如下: 请你查找employees里入职员工时间排名倒数第三的员工所有信息,以上例子输出如下:输出:10005|1955-01-21|Kyoichi|Maliniak|M|1989-09-12droptableifexists`employees`;CREATETABLE`employees`(`emp_no`int(11)NOTNULL,`bir......
  • ubuntu安装php7.4-8.0
    更新,加入源apt-getupdateapt-yinstallsoftware-properties-common安装存储库ppa:ondrej/php,它提供所有PHP版本add-apt-repositoryppa:ondrej/phpapt-getupdate开始安装php74apt-yinstallphp7.4php-v安装额外的php模块apt-getinstall-yphp7.4-clip......
  • 在html中 如何 插入 js 和 css 代码 以及 如何 引用 js 和 css 文件
    在HTML中插入JavaScript和CSS代码,以及引用JavaScript和CSS文件的方法如下:插入JavaScript代码:在HTML文件中,你可以使用<script>标签来插入JavaScript代码。例如:<script>functionmyFunction(){alert("Hello,World!");}</script>引用JavaScript文件:如果你的JavaScript......