资讯专栏INFORMATION COLUMN

js常用的时间戳互相转换方法,以及一些其它相关时间方法。

李昌杰 / 2375人阅读

摘要:前言做项目其实经常需要与时间接触。时间戳与时间的转换问题,在这做一个记录。我自己试了最新版的,,返回的是一样的。

前言

做项目其实经常需要与时间接触。时间戳与时间的转换问题,在这做一个记录。

1.获取特定格式的时间
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表1月)
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString( ); //获取日期与时间
2.获取当前时间的时间戳
 //第一种方法(精确到秒)
 var timestamp = Date.parse(new Date());

 //第二种方法(精确到毫秒)
 var timestamp = (new Date()).valueOf();

 //第三种方法(精确到毫秒)
 var timestamp=new Date().getTime();
3.时间戳转指定日期格式
  //第一种
  function getLocalTime(nS) {
    return new Date(parseInt(nS)).toLocaleString().replace(/:d{1,2}$/, " ");
  }
  var nowTime = getLocalTime(timestamp);  //  2018/10/15 下午9:45

  //第二种
  function getLocalTime1(nS) {
    return new Date(parseInt(nS)).toLocaleString().substr(0, 17)
  }
  var nowTime = getLocalTime1(timestamp); // 2018/10/15 下午9:53

  //第三种
   function getLocalTime2(nS) {
    return new Date(parseInt(nS)).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");
  }
  let nowTime1 = getLocalTime2(timestamp); //    2018/10/15 下午9:53:10

还有一种较为繁琐的

function getFormatData(getData) {
  let date = new Date(parseInt(getData));
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  const hour = date.getHours()
  const minute = date.getMinutes()
  const second = date.getSeconds()

  return [year, month, day].map(formatNumber).join("-") + " " + [hour, minute, second].map(formatNumber).join(":")
}

const formatNumber = n => {
  n = n.toString()
  return n[1] ? n : "0" + n
}

let DateTime = getFormatData(timestamp);        //2018-10-17 15:31:30
4.获取今天0点的时间戳

toLocaleDateString() 方法可根据本地时间把 Date 对象的日期部分转换为字符串,并返回结果。(就是返回“2018/10/17”这样的字符串)

let getZeroTimestamp = new Date(new Date().toLocaleDateString()).getTime();
//注:toLocaleDateString得到的日期字符串最好别用来做时间格式的处理(就是别直接拿这个字符串做一些替换之类的操作),因为我在别人的文章看到,在不同浏览器或者不同版本下。返回的样式不一样,可能会有“2018-10-17”这种格式。我自己试了最新版的Google,Firefox,Safari返回的是一样的“2018/10/17”。

暂时就想起来那么多,以后用到新的会继续增加的。最后,附上,w3c上Date()对象的链接

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/98408.html

相关文章

  • 20 个案例教你在 Java 8 中如何处理日期和时间?

    摘要:前言前面一篇文章写了如何安全的使用里面介绍了如何处理日期时间,以及如何保证线程安全,及其介绍了在中的处理时间日期默认就线程安全的类。引入了全新的日期时间格式工具,线程安全而且使用方便。 前言 前面一篇文章写了《SimpleDateFormat 如何安全的使用?》, 里面介绍了 SimpleDateFormat 如何处理日期/时间,以及如何保证线程安全,及其介绍了在 Java 8 中的处...

    Rango 评论0 收藏0
  • php 学习笔记之日期时间操作一箩筐

    摘要:格式化日期时间格式化日期时间场景将当前日期时间或者特定日期时间格式化输出为特定格式的字符串常用于人性化展示信息说明返回给定时间戳格式化后所产生的日期时间字符串如果没有给出时间戳则默认使用本地当前时间备注格式说明返回值示例位数字完整表示的年份 showImg(https://segmentfault.com/img/remote/1460000019351405); 格式化日期时间 d...

    tain335 评论0 收藏0
  • Java 时间与日期处理

    摘要:时间与日期处理从属于笔者的现代开发系列文章,涉及到的引用资料声明在学习与实践资料索引中。可以通过静态构造方法很容易的创建,定义了与之间的转化关系时差类以年月日来表示日期差,而以秒与毫秒来表示时间差适用于处理与机器时间。 Java 时间与日期处理 从属于笔者的现代 Java 开发系列文章,涉及到的引用资料声明在 Java 学习与实践资料索引中。 Java 时间与日期处理 在 Java 8...

    HelKyle 评论0 收藏0
  • Date对象常用封装方法及遇到

    摘要:使用中的对象已经很久了但是一直以来都没有将常用的封装函数和遇到的坑记录下来趁着今天有空就记录下来方便自己下次直接使用并提醒自己遇到过那些坑。利用设置日期时从设置当设置为时即上个月的最后一天参考 使用JS中的Date对象已经很久了,但是一直以来都没有将常用的封装函数和遇到的坑记录下来,趁着今天有空,就记录下来,方便自己下次直接使用,并提醒自己遇到过那些坑。如果有哪些地方不对,希望大家能够...

    taowen 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<