写在前面

前两天写了一篇《常见的Javascript获取时间戳》,今天来一篇续集吧,日期和时间戳的互转

预备知识

  • 知道什么是时间戳:即距离1970年01月01日00时00分00秒的毫秒数(如果你要用到的是秒,那也行,单位问题而已)。
  • 知道为什么需要把日期转化成时间戳:对于前端来说,接触的到的时间多是2018-08-08这种形式的,但是在拉取后端数据时,一般要把时间转化成时间戳再传过去。同样的道理要会把时间戳转化成我们想要的日期格式。

时间 -> 时间戳 (2018/08/09 10:10:10 -> 1533780610000 )

通常我们用到的时间格式分两种2018/08/09 10:10:10或者2018-08-09 10:10:10,幸运的是js的Date对象很好的支持了这种格式的时间,通常我们可以通过

new Date('2018/08/09 10:10:10').getTime()或者
new Date('2018-08-09 10:10:10').getTime()来获取到时间戳

但是!!!!
ie对于第二种不支持
如下图:

因此,请采用以下的代码

let time = '2018-08-09 10:10:10'
time = time.replace(/-/g, '/') // 把所有-转化成/
let timestamp = new Date(time).getTime()

时间戳 -> 时间 (1533780610000 -> 2018/08/09 10:10:10)

这里要用到Date对象的一系列get方法,思路是先根据时间戳new一个Date对象,然后通过一系列get方法分别拿到年月日时分秒,再拼接字符串。

function timestampToTime (timestamp) {const dateObj = new Date(+timestamp) // ps, 必须是数字类型,不能是字符串, +运算符把字符串转化为数字,更兼容const year = dateObj.getFullYear() // 获取年,const month = dateObj.getMonth() + 1 // 获取月,必须要加1,因为月份是从0开始计算的const date = dateObj.getDate() // 获取日,记得区分getDay()方法是获取星期几的。const hours = pad(dateObj.getHours())  // 获取时, pad函数用来补0const minutes =  pad(dateObj.getMinutes()) // 获取分const seconds =  pad(dateObj.getSeconds()) // 获取秒return year + '-' + month + '-' + date + ' ' + hours + ':' + minutes + ':' + seconds
}function pad(str) {return +str >= 10 ? str : '0' + str
}timestampToTime(1533773345000)
timestampToTime(1533780610000)

总结

有几个小点需要注意

  • 为了兼容,将横线换成斜杠(2018-08-09 10:10:10 => 2018/08/09 10:10:10)
  • 获取月份时,要加1
  • getDate获取日期,getDay是用来获取是一个星期的第几天
  • 根据需求做适当的补0,2018-8-9 08:09:05 要比 2018-8-9 8:9:5好看的多。

常见的javascript日期和时间戳互相转化相关推荐

  1. Javascript日期和时间戳(毫秒/秒)相互转化,日期分隔符不同转化结果不同

    Javascript日期和时间戳(毫秒/秒)相互转化,日期分隔符不同转化结果不同 1.日期格式转为时间戳(UTC方法必须把分隔符转为逗号,其他方法转为反斜杠/,因为横杠-有误差) 4种转换方法: Da ...

  2. python中int转换为时间戳_python日期和时间戳互相转化操作详解

    Python中日期格式化是非常常见的操作,Python 中能用很多方式处理日期和时间,转换日期格式是一个常见的功能.Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时 ...

  3. c/c++ 标准日期和时间戳互相转化

    如何获取系统标准时间 time_t rawtime ; struct tm * timeinfo; time ( &rawtime ); timeinfo = localtime ( & ...

  4. html 时间戳日期转换成字符串,JavaScript时间与时间戳的转换操作实例分析

    本文实例讲述了JavaScript时间与时间戳的转换操作.分享给大家供大家参考,具体如下: 一.时间转时间戳:javascript获得时间戳的方法有五种,都是通过实例化时间对象 new Date() ...

  5. php 2018-12-23转化成时间戳,php日期转时间戳,指定日期转换成时间戳

    php日期转时间戳,指定日期转换成时间戳 写过PHP+MySQL的程序员都知道有时间差,UNIX时间戳和格式化日期是我们常打交道的两个时间表示形式,Unix时间戳存储.处理方便,但是不直观,格式化日期 ...

  6. Oracle SQL实现日期转换时间戳时间戳转化日期

    Oracle SQL实现日期转换时间戳时间戳转化日期 -- 日期转换为毫秒级时间戳  24*60*60 *1000 SELECT (to_date('2019/4/11 14:45:43'       ...

  7. mysql13位的时间戳怎么转化_MySQL时间函数 | 时间戳和日期之间得转换

    首页 专栏 mysql 文章详情 0 MySQL时间函数 | 时间戳和日期之间得转换 阿壮Jonsson 发布于 2 月 6 日 一.时间戳转日期 select FROM_UNIXTIME(16060 ...

  8. php js 获取当前时间戳,JavaScript 获取当前时间戳的代码_时间日期

    JavaScript 获取当前时间戳: 第一种方法: var timestamp = Date.parse(new Date()); 结果:1280977330000 第二种方法: var times ...

  9. plsql programming 10 日期和时间戳

    年 月 日 时 分 秒 时区 用小时表示的相对于 UTC 的时差 用分钟表示的相对于 UTC 的时差 date 存储日期和时间, 不带时区, 精确到秒 timestamp 存储日期和时间, 不带时区, ...

最新文章

  1. MAC jupyter notebook
  2. 应用JDK 9 @不推荐使用的增强功能
  3. Asp.Net MVC1.0正式版发布
  4. (计算机组成原理)第三章存储系统:本章习题
  5. openwrt 运行程序时提示缺少libstdc++.so.6
  6. c语言表达式10 3的结果是,C语言程序设计--第3讲运算符与表达式.ppt
  7. LeetCode-226. 翻转二叉树
  8. eclipse中mybatis generator插件的安装与使用,实现自动生成代码
  9. lj245a引脚功能图_CA3140中文资料-引脚图及功能
  10. java uuid生成器_Java UUID生成器– Java GUID
  11. Java显示smart3d数据_[转][smart3d]Smart3D之手动配置 S3C 索引加载全部的OSGB瓦片数据...
  12. Misra-C编码规范全解读 - Misra C 概述
  13. INT 10H 中断简介
  14. 密码学复习笔记2【分组密码/S-DES、DES】
  15. PS绘画效果滤镜Snap Art 4
  16. 一、FreeRTOS简介
  17. MySQL的文本导入load data local
  18. 灵活运用CSS开发技巧
  19. 阿宇相机智能双光配置
  20. 中断系统应用实例(1)用定时器T1工作方式1控制两个LED以不同周期闪烁

热门文章

  1. 09-解决服务器被黑上不了网的问题
  2. openssh漏洞升级修复
  3. 在后台运行程序/软件的Linux命令
  4. python-django-redis拒绝连接问题解决_20191121
  5. CEPH RGW集群和bucket的zone group 不一致导致的404异常解决 及 使用radosgw-admin metadata 命令设置bucket metadata 的方法
  6. Navicat 连接MySQL时出现1251错误的解决方案
  7. 解决github clone慢的问题
  8. QT学习之解决QT中QIcon图标不显示的问题
  9. Vue首页加载过慢 解决方案
  10. Visual Studio 2015打开ASP.NET MVC的View提示“Object reference not set to an instance of an object“错误的解决方案