精华内容
下载资源
问答
  • 时间表示
    万次阅读
    2020-06-04 10:52:52

    UTC时间的格式


    根据 ISO 8601《数据存储和交换形式·信息交换·日期和时间的表示方法》,UTC时间,也就是国际统一时间/国际协调时,表示方法如下:

    YYYYMMDD T HHMMSS Z(或者时区标识)。

    例如,20100607T152000Z,表示2010年6月7号15点20分0秒,Z表示是标准时间

    如果表示北京时间,那么就是:
    20100607T152000+08,其中 “+08” 表示东八区。

    更多相关内容
  • Solr中的日期/时间表示

    千次阅读 2017-01-22 16:56:59
    摘要: Solr的日期字段(TrieDateField 和DateRangeField)可以对一个时间点以毫秒精度表示。格式Solr中的日期有很严格的格式限制: YYYY-MM-DDThh:mm:ssZ YYYY 表示年 MM 表示月份 DD 表示天 hh 表示小时,24小时...

    摘要: Solr的日期字段(TrieDateField 和DateRangeField)可以对一个时间点以毫秒精度表示。

    格式

    Solr中的日期有很严格的格式限制:
    YYYY-MM-DDThh:mm:ssZ

    • YYYY 表示年
    • MM 表示月份
    • DD 表示天
    • hh 表示小时,24小时制
    • mm 表示分钟
    • ss 表示秒钟
    • Z 代表时区是UTC

    比如:
    2017-01-22T17:33:18Z

    • 时区不能换,只能是UTC
    • 更精细的表示时间可以是:2017-01-22T17:33:18.333Z

    查询

    由于Solr的时间中有一个特殊符号 冒号(:),在查询的时候可以使用下面几种方式对一个时间字段查询

    datefield:2017-01-20T17:33:18.333Z

    datefield:”2017-01-20T17:33:18.333Z”

    datefield:[2017-01-20T17:33:18.333 TO *]

    时间区间表示

    • 2017-01 2017年整个1月
    • 2017-01T13 2017年整个1月每天13:00到14:00
    • [2017-01-01 TO 2017-01-22] 2017年1月1号到22号
    • [2017 TO 2017-01-22] 2017年1月1号到22号
    • [ * TO 2017-01-22] 2017年1月22号之前

    计算时间

    Solr支持一些简单的数学计算,并且内建了一些表达式

    • NOW 当前时间
    • NOW+2MONTHS 之后的两个月时间内
    • NOW-1DAY 一天前
    • NOW/HOUR 从这个小时开始
    展开全文
  • 有时候人们用四位数字表示一个时间,比如 1106 表示 11 点零 6 分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。 读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算...

    有时候人们用四位数字表示一个时间,比如 1106 表示 11 点零 6 分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。

    读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,例如 5 点 30 分表示为 530;0 点 30 分表示为 030。注意,第二个数字表示的分钟数可能超过 60,也可能是负数。
    输入格式:

    输入在一行中给出 2 个整数,分别是四位数字表示的起始时间、以及流逝的分钟数,其间以空格分隔。注意:在起始时间中,当小时为个位数时,没有前导的零,即 5 点 30 分表示为 530;0 点 30 分表示为 030。流逝的分钟数可能超过 60,也可能是负数。
    输出格式:

    输出四位数字表示的终止时间,当小时为个位数时,没有前导的零。题目保证起始时间和终止时间在同一天内。
    输入样例:

    1120 110

    输出样例:

    1310
    全部先换算为分钟,利用整除和取余得到小时和分钟。不要忘了讨论小时为0的特殊情况。此时利用人为添加0。0后的数字表示为数据长度。前面不够的用0补位。

    #include<stdio.h>
    int main()
    {
    int a,b,c,d,e,f,g;
    scanf("%d %d",&a,&b);
    c=a/10060+a%100+b;
    d=c/60;
    e=c%60;
    if(d>0)
    {
    printf("%d",d
    100+e);
    }
    else
    {
    printf("%03d",e);
    }
    return 0;
    }

    展开全文
  • 这篇断断续续写了很久,是因为时间这个坑真的可以越挖越深,本来名字叫“关于时间戳的一切”,打算总结几种时间格式到时间戳的转换方法,结果越总结发现自己自己不懂的越多,后续还会再补充的。这次关于时间的探索让...

    这篇断断续续写了很久,是因为时间这个坑真的可以越挖越深,本来名字叫“关于时间戳的一切”,打算总结几种时间格式到时间戳的转换方法,结果越总结发现自己自己不懂的越多,后续还会再补充的。这次关于时间的探索让我重新学了Date对象、Unix时间戳、时间的几种标准、还重学了地理等。

    ---------------最后看下面这块------------

    遇到两个问题,js中使用new Date()取出的时间结果会因为输入时间精度、格式不同而不同:在精度无时分秒YYYY-MM-DD和有时分秒YYYY-MM-DD hh:mm:ss 之后使用getTime取到的时间戳不同,多出8小时;以及在YYYY-MM-DD和YYYY/MM/DD返回的结果不同,也是差8小时。如图:

       

    从测试结果来看:
    new Date('1970-01-01')和new Date('1970-01-01 08:00:00')的getTime()结果相同,我有点懵b;
    继续看new Date('1970/01/01')和new Date('1970-01-01') ,输出结果后者多了8小时;

    emmm...瞬间感到很可怕,一直以为'1970-01-01'等于'1970-01-01 00:00:00' 、'1970-01-01''等于1970/01/01'的我,会不会过去的代码中制造了什么错误..

    仔细对比分析有了两个推测:


    1,new Date('/') 接收的是当地时间,没写时分秒自动补0,输入与输出一致

    2,new Date('-') 接收的是UTC时间,没写时分秒自动补0,输出本地时间;写了时分秒也就是YYYY-MM-DD hh:mm:ss格式时接收的是当地时间,输入与输出一致

    ---------------------最后看上面这块-----------------------


    一、时间戳和时区

    1,Unix时间戳(Unix timestamp)定义为从1970年01月01日00时00分00秒(UTC)起至现在经过的总秒数。

    2,JavaScript中提供的Date对象可以将所有时间都存为一个整数,表示从1970年1月1日00:00:00起的总毫秒数。

    ↑这两点意味着:
    1)使用unix时间戳作为参数需要乘以1000得到毫秒数Date()对象才能正确接收,getTime时需要除以1000才能得到时间戳。
    2)js中判断一个时间戳的精度,可以靠时间戳长度:精确到秒是10位;精确到毫秒是13位。

    3)在js中利用时间戳很容易计算出一个间隔恒定的时间轴,或者给一个时间推算出某段时间之前or之后的具体日期,或者日期比较

    3,北京时间 = GMT+8 = UTC+8

    GMT是格林尼治平均时,UTC是世界标准时/协调世界时/原子时。前者是太阳时,GMT的正午为太阳在格林尼治上空最高点的时间,但是这个时间受地球自转速度影响所以每一天的时间都存在一定误差;后者由原子能级跃迁振动频率计时得出误差很小。GMT几乎等于UTC。北京时间采用东八区时间,复习一下地理:本初子午线是0度经线穿过格林尼治天文台,日期变更线基于东西经重合的180度经线。全球24个时区里,我们在东经120度落在东八区,由于地球自西向东旋转我们要比英国的盆友更早迎接新的一天的早中晚,时间上就是早了8个小时。当英国时间为正午时,我们的时间为晚上8点,这时全球都在同一天。

    ↑这意味着:
    Unix时间戳起始时间是我们北京时间的1970年01月01日08时00分00秒


    二、几种表示时间的格式/标准

    1,RFC-2822标准格式,形如:
    Sun Apr 08 2018 11:38:39 GMT+0800(CST)

    2,ISO-8601标准格式,其中一种常见的格式形如:
    2018-04-08T11:38:39+08:00   日期用“-”相隔,与时间用“T”连接
    2018-04-08T11:38:39Z     Z代表UTC时间,Z也可写成00:00


    三、js中的Date对象

    1,Date()作为函数不管有无参数直接调用获取的是当前的日期和时间,结果是表示当前时间的字符串,并且是已经转换为当前时区的时间;

    2,Date()作为构造函数无参数时使用new Date(),结果是表示当前时间的对象,并且是已经转换为当前时区的时间

         

    GMT+0800(CST)代表东八区,CST(china standard time)表示中国标准时间

    3,作为构造函数时,Date对象可以接收多种格式的参数,用法如下:

    new Date()   //返回当前时间
    new Date(number)   //number为自1970.01.01 00:00:00经过的毫秒数,返回number毫秒后的时间

    new Date(string)   //string代表时间的字符串,返回这个时间的Date对象
    new Date(year, month, day, hours, minutes, seconds, milliseconds)

    构造出的日期用来显示时会转为本地时间(toString方法)
    当参数为string时,写法很多,所有能被Date.parse()解析的字符串都可以作为参数。需要注意的是,es5中,当日期以“-”作为分隔符且月日数字小于10前面补0(如2018-09-03),和数字大于9(如2018-10-10),JavaScript接收时会把字符串当作ISO-8601格式按照0时区也就是UTC时间来接收;es6改为没有指定时区就会默认为当地时间。其他格式如2018/10/10都是非ISO-8601格式接收当作本地时间。'2018-04-08T00:00:00Z'是UTC,'2018-04-08 00:00:00'非UTC等于ISO-8601格式的'2018-04-08T00:00:00+08:00'。
    ↑这也就解释了开篇的疑惑,推测基本正确,只是有“-”不一定是UTC,而且推测的时候对于GMT和UTC没有做精确区分。真正原因上面这段。

    4,日期的运算
    两个日期对象相减,得到相差的毫秒数;相加为两个日期字符串的相加。

    ↑这意味着算时间差时无需先getTime,可以直接相减。

    5,计算1970-01-01 00:00:00至指定日期的毫秒数
    1)new Date('日期').getTime()
    2) Date.parse('日期')
    3)Date.UTC('日期')  该日期为UTC时间,不会根据写法不同做本地转换
    4)Date.now()  至当前时间,可用来计算代码运行时间
    5) +new Date('日期')  等于  new Date('日期').getTime()


    四、几种标准的时间与时间戳的转换(js中时间戳的N种获取方式)

    1, js获取某一时间的时间戳
    上面第三点第5标题下的任意一种方法获取1970-01-01 00:00:00至指定日期的毫秒数 为ms,
    Math.round(ms/1000) 
    如果是当前时间直接除以1000也可以Math.round(new Date() / 1000)

    2,时间戳转时间字符串
    1)转“2018-04-08”或“2018/04/08”或任意组装的格式
    先用new Date(UnixTimeStamp)将时间戳转为Date类型对象,再使用getFullYear(),getMonth(),getDate(),getHours(),getMinutes(),getSeconds()分别获取年月日时分秒,注意的是getMonth()返回数字是0~11,所以换成可读的月份要加1。
    2)转ISO-8061格式的UTC时间和本地易读的时间
    toJSON(),toISOString(),toLocaleString()如图

    3)转RFC-2822时间,也就是new Date()出来的时间的长相,之前说了typeof new Date()是对象,把对象变为字符串用toString()


    参考资料:

    https://segmentfault.com/a/1190000004292140
    https://www.xuanfengge.com/js-date-object.html
    http://blog.sina.com.cn/s/blog_65415e870102wwnq.html



    展开全文
  • 国际标准化组织的国际标准ISO 8601是日期和时间表示方法,全称为《数据存储和交换形式·信息交换·日期和时间表示方法》。目前是第三版ISO8601:2004以替代第一版ISO8601:1988与第二版ISO8601:2000。 当前的...
  • 如以下格式,下面两种时间格式所表示时间是同一个时间,这个不难理解 //UTC时间,世界标准时间 2016-08-9T10:01:54.123Z 20160809100154.123Z 如图所示,这是一张由网友提供的图片,里面显示的是时间 UTC...
  • @python 将一串数字形式的时间转换为...10位的数字表示的是秒时间戳。 import time time.time()#获取当前的秒时间戳 通过下边的代码就可以将10位的秒时间戳抓换为标准输出格式 import time tupTime = time.localti...
  • 程序时间复杂度的几种表示

    万次阅读 2017-10-02 23:02:18
    其中时间复杂度有多种表示:O、Ω、Θ、o,然后然后就蒙圈了,虽然书上讲的也比较详细但还是不够直接。这样表示时间复杂度 O:big-O————上界 Ω:big-Omega—–下界(很少用) Θ:big-Theta——-确界F(n) = ...
  • ”的格式来表示这个时间。 &lt; H&gt; 表示时间,&lt; M&gt; 表示分钟, 而&lt; S&gt; 表示秒,它们都是整数且没有前导的“0”。 例如,若t=0,则应输出是“0:0:0”;若t=3661,则输出“1:...
  • printf("请输入时间:"); scanf("%d,%d,%d",&c.hour,&c.minute,&c.second); printf("请输入秒数:"); scanf("%d",&n); add(&c,n); printf("%d,%d,%d",c.hour,c.minute,c.second); return 0; }
  • 信号与系统——周期信号的傅里叶级数表示(离散时间)
  • 一、在Python中,时间主要有三种表示形式, 1.时间戳(TimeStamp):1970年1月1日之后的秒 2.时间元组格式化形式 包含了:年、日、星期 得到time.struct_time(tm_year=2017, tm_mon=10, tm_mday=14…) ...
  • 有时候人们用四位数字表示一个时间,比如1106表示11点零6分。 现在,你的程序要根据起始时间和流逝的时间计算出终止时间。 读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数 ...
  • 一个构造Time对象的构造方法,以一个指定的流逝时间值来构造Time对象,这个值从1970年1月1日午夜开始到现在流逝的以毫秒表示的值(数据域的值表示这个时间) 以指定的小时、分钟、和秒来构造Time对象的构造方法 三...
  • 3、具体解释:[入校时间]表示的是入校时间这一列所有时间,month()表示取某日期月份。4、小提示:输入英文和各种符号的时候最好是输入法在英文状态下,可以防止一些小问题哦。具体如下:1、简介编程是编写程序的中文...
  • 注:本博客是基于奥本海姆...这些各种类型的表示方法通常都始于通过周期采样得到的联系时间信号的离散时间表示,吉言本·序列x[n]是按照如下关系由连续时间信号xc(t)得到的: 式(4.1) 其中,T为采样周期,而它的导...
  • 在项目中查询时间段的sql语句(时间类型为datetime或date): if test="pojo.begintime!=null and pojo.begintime!=''"> = DATE_FORMAT(#{pojo.begintime}, '%Y-%m-%d') ]]> if> if test="pojo.endtime!=null...
  • Mybatis中用NOW()表示当前时间

    万次阅读 2019-09-24 14:18:40
    Mybatis中用NOW()表示当前时间
  • 新手做题,个人思考把分钟和小时分开计算应该会好一些,希望dalao们给出建议。 #include <stdio.h> int main() { int h1,h2,m1,m2,h3,m3; scanf("%2d%2d %2d%2d",&h1,&...h3=h2-...
  • 关于时间格式

    千次阅读 2018-06-19 19:41:45
    一、首先,我们要分清楚几个概念: 1、Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,...以年、月、日、时、分、秒表示2、Calendar Time:日历时间,是用“从一个标准时间点(如:1970年1月1...
  • MySQL记录的创建时间和修改时间

    千次阅读 2022-02-17 21:16:26
    create_time字段表示记录的创建时间 update_time字段表示记录的修改时间 表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。每个时间类型有一个有效值范围。 类型 大小 (bytes) 范围 格式 ...
  • 时间点 ...Clock指明该时间点是基于什么时钟类型计算,time_point内部存储了一个Duration类型的字段,表示该时钟启动以来(epock)的时间间隔。 时钟类型 支持的时钟类型有: std::chrono::system_c
  • 树的存储结构一、双亲表示法 一、双亲表示法 实现:定义数组结构存放树的结点,每个结点含两个域: 数据域:存放结点本身数据信息。 双亲域:指示本结点的双亲结点在数组中的位置。 结点结构表示为: ...
  • pm时间(am.pm正确时间书写格式)

    万次阅读 2021-05-28 09:05:28
    12制的时间,am代表00:00:00--12:59:59时间段,pm代表13:00:00-24:59:59时间段,如am9:00就是上午9点,pm9:00就是21:00:00pm是下午 am是上午是下午时间!AM是白天,PM是晚上,按午夜12点到中午12点区分,午夜12点用...
  • ISO 8601 utc 时间

    千次阅读 2018-07-04 08:48:52
    维基百科,自由的百科...该标准的目的是提供一种明确且明确定义的日期和时间表示方法,以避免误解日期的数字表示。和时间,特别是当数据在具有不同约定的国家之间传输以写入数字日期和时间时。一般而言,ISO 8601...
  • UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8。现在,你的程序要读入一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有...
  • UTC和GMT时间: UTC是我们现在用得时间标准,GMT是老的时间计量标准。 UTC是根据原子钟来计算时间,二GMT是根据地球的自转和公转来计算时间,也就是太阳每天经过英国伦敦郊区的皇家格林威治天文台的时间就是中午12点...
  • c++ 时间类型详解(time_t和tm)

    万次阅读 多人点赞 2014-03-02 15:29:57
    Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix 系统、类Unix...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,654,464
精华内容 1,461,785
关键字:

时间表示

友情链接: 汉明码.rar