资讯专栏INFORMATION COLUMN

js两种方法获取当天时间0点到24点的时间戳

atinosun / 1834人阅读

摘要:下面推荐两种方法方法一可能有些浏览器不支持方法可根据本地时间把对象的日期部分转换为字符串,并返回结果。

下面推荐两种方法(方法一可能有些浏览器不支持)

1. toLocaleDateString()方法可根据本地时间把 Date 对象的日期部分转换为字符串,并返回结果。

let startTime1 = new Date(new Date(new Date().toLocaleDateString()).getTime()); // 当天0点
let endTime1 = new Date(new Date(new Date().toLocaleDateString()).getTime() +24 * 60 * 60 * 1000 -1);// 当天23:59

2. setHours()方法用于设置指定的时间的小时字段

let startTime2 = new Date(new Date(new Date().getTime()-24*60*60*1000).setHours(0,0,0,0));// 当天0点
let endTime2 = new Date(new Date(new Date().getTime()-24*60*60*1000).setHours(23,59,59,999))

tips: 格式化时间函数

function parseTime(time, cFormat) {
    if (arguments.length === 0) {
        return null
    }
    const format = cFormat || "{y}-{m}-{d} {h}:{i}:{s}"
    let date
    if (typeof time === "object") {
        date = time
    } else {
        if (("" + time).length === 10) time = parseInt(time) * 1000
        date = new Date(time)
    }
    const formatObj = {
        y: date.getFullYear(),
        m: date.getMonth() + 1,
        d: date.getDate(),
        h: date.getHours(),
        i: date.getMinutes(),
        s: date.getSeconds(),
        a: date.getDay()
    }
    const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
        let value = formatObj[key]
        if (key === "a") return ["一", "二", "三", "四", "五", "六", "日"][value - 1]
        if (result.length > 0 && value < 10) {
            value = "0" + value
        }
        return value || 0
    })
    return time_str
}

实例:( 线上实例测试地址 http://jsfiddle.net/junezm/h7... )

document.write("当天时间0点1:", parseTime(startTime1) + "
" + "当天时间23点1:", parseTime(endTime1) + "
" + "当天时间0点2:", parseTime(startTime2) + "
" + "当天时间23点2:", parseTime(endTime2)) //当天时间0点1:2019-01-29 00:00:00 //当天时间23点1:2019-01-29 23:59:59 //当天时间0点2:2019-01-29 00:00:00 //当天时间23点2:2019-01-29 23:59:59

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

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

相关文章

  • Date对象常用的封装方法及遇到的坑

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

    taowen 评论0 收藏0
  • python日期时间处理总结

    摘要:用了一段时间的开发项目,也是第一次用来开发项目,所有有许多相关的知识点需要总结,本文所介绍的的日期时间处理就是最近用到的,希望对各位有所帮助,也同时作为自己的笔记储存。提供了等模块用于处理日期和时间,较为常用的还是模块。 用了一段时间的django开发web项目,也是第一次用python来开发项目,所有有许多相关的知识点需要总结,本文所介绍的python的日期时间处理就是最近用到的,希...

    DoINsiSt 评论0 收藏0
  • Java获取当天、当前月、当前年(今年)的开始和结束时间

    摘要:最近在做统计相关的功能的时候涉及到了获取当天的开始和结束的时间戳当月和当年的开始结束时间戳,特此记录,以作备忘。 最近在做统计相关的功能的时候涉及到了获取当天的开始和结束的时间戳、当月和当年的开始结束时间戳,特此记录,以作备忘。 相关代码 package com.lingyejun.authenticator; import java.time.Instant; import jav...

    BenCHou 评论0 收藏0
  • 20 个案例教你在 Java 8 中如何处理日期和时间?

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

    Rango 评论0 收藏0
  • JS时间转换为刚刚、N分钟前、今天几点几分、昨天几点几分等表示法

    方法一: 使用Javascript语言,将时间戳转换为类似新浪微博的时间的表示方法。要求转换规则:1分钟以内显示为:刚刚1小时以内显示为:N分钟前当天以内显示为:今天 N点N分(如:今天 22:33)昨天时间显示为:昨天 N点N分(如:昨天 10:15)当年以内显示为:N月N日 N点N分(如:02月03日 09:33)今年以前显示为:N年N月N日 N点N分(如:2000年09月18日 15:59)...

    DirtyMind 评论0 收藏0

发表评论

0条评论

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