zoukankan      html  css  js  c++  java
  • 代码中的时间处理

    我们常用的时间格式其实都是字符串格式了,但是在代码中为了区分时间和普通字符串,需要将时间转换为Date对象,在js中对应Date对象,在C#中对应DateTime对象,在C++中很多需要自己写

    js

    1、时间的格式

    js中常见时间表示方法有:

      指定的时间据 1970/1/1 午夜(GMT 时间)之间的毫秒数;

      字符串表示,如20170913,2017-09-13,2017/09/13,Wed Sep 13 2017 08:00:00 GMT+0800 (中国标准时间)

      Date对象,将日期转化为js中的Date对象

           倒计时,

           精确到年或月的日期筛选,因为精确到年和月,没有日,所以不能成为日期格式。

    常用js方法:

      Date.parse(字符串时间格式)  将时间转换为指定的时间据 1970/1/1 午夜(GMT 时间)之间的毫秒数;指定时间格式可以是大多数字符串时间格式(yyyyMMdd格式不可以)

      new Date(字符串时间格式)    将时间转换Date对象,Date对象提供很多常用时间方法,如时间转各种字符串,参考2。

      Date对象常用方法见http://www.w3school.com.cn/jsref/jsref_obj_date.asp

    2、今天/现在

    Date.now()                                                     今天的毫秒数格式 如Date.parse('2017-09-13') 的结果是1505260800000

    new Date()                                   今天的Date类型,提供常用方法。

    new Date().toLocaleDateString()  今天本地时间字符串格式,如"2017/9/13"

    new Date().toLocaleTimeString()  现在的本地时间部分字符串格式,如"上午10:51:47"

    new Date().toLocaleString()          现在的本地时间字符串格式,如"上午10:51:472017/9/13 上午10:52:22"

    new Date().toString()                    现在的字符串格式,如"Wed Sep 13 2017 10:53:12 GMT+0800 (中国标准时间)"

    3、时间比较

    时间有3种格式,采用1的方法将两个时间转化为相同格式再比较。

    4、IE浏览器下js中时间兼容性

    IE认可的时间 格式是yyyy/MM/dd HH:mm:ss。不认可yyyy-MM-dd 和yyyyMMdd。

    如在进行字符串转Date对象时,new Date(“20170929”) ,new Date(“2017-09-29 12:00”)都存在兼容性问题,需要使用 new Date(“2017/09/29 12:00”)

    SQLServer

    --目标时间:20170929
    --目标时间的当月第一天
    select dateadd(d,1-day('20170929'),'20170929') 
    --目标时间的当月最后一天
    select dateadd(d,-day('20170929'),dateadd(m,1,'20170929'))
    --目标时间是当年的第几周
    select datepart(wk,'20170929')
    
    --目标时间周周一
    SET DATEFIRST 1
    select DATEADD(day,1-DATEPART(weekday,'19000107'),'19000107')
    
    --目标时间周周末
    SET DATEFIRST 1
    select DATEADD(day,7-DATEPART(weekday,'19000101'),'19000101')
    
    --获取连续时间列 
    Declare @mindate datetime 
    Declare @maxdate datetime 
    set @mindate = '2010-01-01' 
    set @maxdate = '2010-02-01' 
    ;with temptab(date) as (
     select @mindate 
    union all 
    select dateadd(d,1,temptab.date) as date
     from temptab 
    where dateadd(d,1,temptab.date)<=@maxdate ) 
    
    select * from temptab
  • 相关阅读:
    rowid去重(转)
    Oracle中 row_number() over()分析函数(转)
    oracle分页计算公式
    vue 生产环境和线上环境配置
    vue postcss 样式等比缩放
    element-ui 表单输入手机号验证是否注册或者存在
    使用vue-qr 生成 二维码
    vue下载excel文件,后台传过来的是文件流解决办法
    前端请求接口发送的路径用域名代替ip
    将本地端口映射子域名
  • 原文地址:https://www.cnblogs.com/tanl/p/7513883.html
Copyright © 2011-2022 走看看