• 代码中的时间处理


    我们常用的时间格式其实都是字符串格式了,但是在代码中为了区分时间和普通字符串,需要将时间转换为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
  • 相关阅读:
    webapp之路--meta标签format-detection、apple-mobile-web-app-capable
    js 进行年月日时间差计算
    JS手机邮箱身份证号码的正则验证以及通过身份证号码获取出生年月日
    react setState()方法可以只修改一个对象的部分属性
    js获取当前时间格式YYYY/MM/DD
    提高CSS开发能力的技巧集
    JavaScript专业规则12条
    为什么大型网站前端使用PHP后台逻辑用Java
    Cookie与Session的区别
    2016年JavaScript技术栈展望
  • 原文地址:https://www.cnblogs.com/tanl/p/7513883.html
Copyright © 2020-2023  润新知