精华内容
下载资源
问答
  • 每种程序开发语言都自带处理日期和时间的相关函数,很多开发者把日期和时间存入数据库中,但是,一旦涉及到跨时区的日期和时间的处理时,大多数开发者根本就不明白如何正确地处理日期和时间。 首先,我们来看大部分...

    日期和时间在程序中应用广泛,每种程序开发语言都自带处理日期和时间的相关函数,很多开发者把日期和时间存入数据库中,但是,一旦涉及到跨时区的日期和时间的处理时,大多数开发者根本就不明白如何正确地处理日期和时间。

    首先,我们来看大部分的程序都是这么创建当前时间并存入数据库的:

    Date date = new Date();
    store2db(date);
    

    这么做的问题在于,数据库的DateTime类型没有时区(time zone)信息,因此,存入的是本地时间,并且丢掉了时区信息。如果你把数据库服务器的时区改了,或者把应用服务器的时区改了,读出来的日期和时间就是错误的。如果以Timestamp类型存储,各数据库的实现也不相同,有的进行了内部时区自动转换,而且,存储的时间不超过2037年。

    如果应用服务器的时区和数据库服务器的时区不一致,你无法确定数据库驱动程序会不会自动帮你转换。

    大多数开发者遇到这个问题不是去探索正确的解决方法,而是自作聪明地在存入数据库之前先来个“调整”,比如把当前时间减掉8小时,在显示的时候遇到不正确的时间时,又来个“调整”,以“负负得正”的方式来掩盖错误。在遇到夏令时的时区时,还需要写更复杂的代码来调整小时。

    正确的做法是先理解时间和时区的概念。

    时区的概念

    之所以有时区的概念是因为住在地球上不同地方的人看到太阳升起的时间是不一样的。我们假设北京人民在早上8:00看到了太阳刚刚升起,而此刻欧洲人民还在夜里,他们还需要再过7个小时才能看到太阳升起,所以,此刻欧洲人民的手表上显示的是凌晨1:00。如果你强迫他们用北京时间那他们每天看到日出的时间就是下午3点。

    也就是说,东8区的北京人民的手表显示的8:00和东1区欧洲人民手表显示的1:00是相同的时刻:

    "2014-10-14 08:00 +8:00" = "2014-10-14 01:00 +1:00"
    

    这就是本地时间的概念。

    但是,在计算机中,如果用本地时间来存储日期和时间,在遇到时区转换的问题上,即便你非常清楚地知道如何转换,也非常麻烦,尤其是矫情的美国人还在采用夏令时。

    所以我们需要引入“绝对时间”的概念。绝对时间不需要年月日,而是以秒来计时。当前时间是指从一个基准时间(1970-1-1 00:00:00 +0:00),到现在的秒数,用一个整数表示。

    当我们用绝对时间表示日期和时间时,无论服务器在哪个时区,任意时刻,他们生成的时间值都是相等的。所有编程语言都提供了方法来生成这个时间戳,Java和JavaScript输出以毫秒计算的Long型整数,Python等输出标准的Unix时间戳,以秒计算的Float型浮点数,这两者转换只存在1000倍的关系。

    实际上,操作系统内部的计时器也是这个标准的时间戳,只有在显示给用户的时候,才转换为字符串格式的本地时间。

    正确的存储方式

    基于“数据的存储和显示相分离”的设计原则,我们只要把表示绝对时间的时间戳(无论是Long型还是Float)存入数据库,在显示的时候根据用户设置的时区格式化为正确的字符串。

    数据的存储和显示相分离是非常基本的设计原则,却常常被大多数开发人员忽略。举个例子,在Excel中编写一个表格,表格的数据可视为数据的存储格式,你可以把表格的数据以柱状图或饼图表示出来,这些不同的图表是数据的不同显示格式,存储数据的时候,我们应该存储表格数据,绝不应该存储柱状图等图片信息。

    HTML和CSS也是数据的存储和显示相分离的设计思想。

    所以,数据库存储时间和日期时,只需要把Long或者Float表示的时间戳存到BIGINTREAL类型的列中,完全不用管数据库自己提供的DATETIME或TIMESTAMP,也不用担心应用服务器和数据库服务器的时区设置问题,遇到Oracle数据库你不必去理会with timezonewith local timezone到底有啥区别。

    读取时间时,读到的是一个Long或Float,只需要按照用户的时区格式化为字符串就能正确地显示出来:

    // Java:
    long t = System.currentTimeMillis();
    System.out.println("long = " + t);
    
    // current time zone:
    SimpleDateFormat sdf_default = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    System.out.println(sdf_default.format(t));
    
    // +8:00 time zone:
    SimpleDateFormat sdf_8 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    sdf_8.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
    System.out.println("GMT+8:00 = " + sdf_8.format(t));
    
    // +7:00 time zone:
    SimpleDateFormat sdf_7 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    sdf_7.setTimeZone(TimeZone.getTimeZone("GMT+7:00"));
    System.out.println("GMT+7:00 = " + sdf_7.format(t));
    
    // -9:00 time zone:
    SimpleDateFormat sdf_la = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    sdf_la.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
    System.out.println("America/Los_Angeles = " + sdf_la.format(t));
    

    输出:

    long = 1413230086802
    2014-10-14 03:54
    GMT+8:00 = 2014-10-14 03:54
    GMT+7:00 = 2014-10-14 02:54
    America/Los_Angeles = 2014-10-13 12:54
    

    总结:

    基于绝对时间戳的时间存储,从根本上就没有时区的问题。时区只是一个显示问题。额外获得的好处还包括:

    1. 两个时间的比较就是数值的比较,根本不涉及时区问题,极其简单;

    2. 时间的筛选也是两个数值之间筛选,写出SQL就是between(?, ?);

    3. 显示时间时,把Long或Float传到页面,无论用服务端脚本还是用JavaScript都能简单而正确地显示时间。

    你唯一需要编写的两个辅助函数就是String->Long和Long->String。String->Long的作用是把用户输入的时间字符串按照用户指定时区转换成Long存进数据库。

    唯一的缺点是数据库查询你看到的不是时间字符串,而是类似1413266801750之类的数字

    个人感悟:时区只是一个显示问题(人为造成的,不过也是为了方便显示),但是使用绝对时间的时间戳就不存在时区问题,毕竟无论你在世界的哪个地方你的1s和我的1s的时长是一模一样的,这个是永远不会变的。

    展开全文
  • 时间正确表达

    千次阅读 2019-01-01 22:37:58
    关于时间的表达: 关于时间日期的词汇: 有关时间的英语单词有: 1.年year、天day、小时hour、分钟minute、秒second 2.Monday 星期一; Tuesday 星期二; Wednesday 星期三; Thursday 星期四; Friday 星期五; ...

    Exercise 3:
    关于时间的表达:

    关于时间日期的词汇:
    有关时间的英语单词有:
    1.年year、天day、小时hour、分钟minute、秒second

    2.Monday 星期一; Tuesday 星期二; Wednesday 星期三; Thursday 星期四; Friday 星期五; Saturday 星期六; Sunday 星期天
    3.spring 春天;summer 夏天;autumn 秋天;winter 冬天
    4.January 一月份; February 二月份; March 三月份; April 四月份; May 五月份; June 六月份; July 七月份; August 八月份; Septemper 九月份; October 十月份; November 十一月; December 十二月
    5.早晨morning、中午noon、下午afternoon、傍晚evening、今晚tonight、晚上night

    询问的句型:
    问时间
    what’s the time now?
    what time is it now?
    问日期
    what’s the date?
    what date is it?
    问星期
    what day is today?
    what day is it?

    一、 时间点的表达
    1、所有的时间都可以用“小时 + 分钟”直接读:
    6:10 six ten
    8:30 eight thirty
    2:40 two forty
    2、如果所表述的时间在半小时之内,可以用“分钟 + past + 小时”:
    6:10 ten past six
    4:20 twenty past four
    10:25 twenty-five past ten
    3、如果所表述的时间在半小时之外,可以用“(相差的)分钟 + to + (下一)小时”:
    10:35 twenty-five to eleven
    5:50 ten to six
    9:49 eleven to ten
    4、如果所表述的时间恰好为半小时,可以用“half + past + 小时”:
    11:30 half past eleven
    2:30 half past two
    5、如果所表述的分钟和15有关,就有三种表达法:
    (15分钟又叫一刻钟:a quarter)
    9:15 nine fifteen ; fifteen past nine ; a quarter past nine3:45 three forty-five ; fifteen to four ; a quarter to four
    6、整点的表达:
    现在是两点整。It‘s two。/It’s two o‘clock。
    另外英语中的 noon 和midnight 可分别直接表示白天和夜晚的12点:It‘s (twelve) noon。 现在是中午十二点。It‘s (twelve) midnight。 现在是半夜零点。
    7、大约时间:
    It‘s almost two。 马上到两点了。
    It‘s not quite two。 还不到两点。
    It‘s just after two。 刚过两点。

    扩展资料:
    时间表达中介词的使用:
    若指在哪一年或哪一月,用介词in;若具体到某一天,需用介词on。
    例如:
    She was born in 1989。
    She was born in August。
    She was born in August 1989。
    She was born on 2nd August, 1989。

    情景对话一:
    A:What day is today?
    A:今天是星期几?
    B:lt’s Thursday, I think.
    B:大概是星期四。
    A:Tomorrow is Friday. It’s going to be the weekend.
    A:明天是星期五,又要到周末了。
    B :We’re busy on weekdays, but we’ll have a good rest at the weekend.
    B:我们平时很忙,但周末可以好好休息一下。
    A:We’ll meet again in a few days.
    A:那过几天我们再见。
    情景对话二:
    A:By the way, could you tell me what day it is today?
    A:顺便问一下,今天星期几了?
    B:Well, it’s Thursday today.
    B:哦,今天星期四。
    A:And the date, please.
    A:几号?
    B:The 51th.
    B:5号。

    展开全文
  • JAVA如何正确地处理时间/时区

    千次阅读 2018-04-09 16:05:15
    每种程序开发语言都自带处理日期和时间的相关函数,很多开发者把日期和时间存入数据库中,但是,一旦涉及到跨时区的日期和时间的处理时,大多数开发者根本就不明白如何正确地处理日期和时间。 首先,我们来看大部分...

     

    日期和时间在程序中应用广泛,每种程序开发语言都自带处理日期和时间的相关函数,很多开发者把日期和时间存入数据库中,但是,一旦涉及到跨时区的日期和时间的处理时,大多数开发者根本就不明白如何正确地处理日期和时间。

    首先,我们来看大部分的程序都是这么创建当前时间并存入数据库的:

    Date date = new Date();
    store2db(date);
    

    这么做的问题在于,数据库的DateTime类型没有时区(time zone)信息,因此,存入的是本地时间,并且丢掉了时区信息。如果你把数据库服务器的时区改了,或者把应用服务器的时区改了,读出来的日期和时间就是错误的。如果以Timestamp类型存储,各数据库的实现也不相同,有的进行了内部时区自动转换,而且,存储的时间不超过2037年。

    如果应用服务器的时区和数据库服务器的时区不一致,你无法确定数据库驱动程序会不会自动帮你转换。

    大多数开发者遇到这个问题不是去探索正确的解决方法,而是自作聪明地在存入数据库之前先来个“调整”,比如把当前时间减掉8小时,在显示的时候遇到不正确的时间时,又来个“调整”,以“负负得正”的方式来掩盖错误。在遇到夏令时的时区时,还需要写更复杂的代码来调整小时。

    正确的做法是先理解时间和时区的概念。

    时区的概念

    之所以有时区的概念是因为住在地球上不同地方的人看到太阳升起的时间是不一样的。我们假设北京人民在早上8:00看到了太阳刚刚升起,而此刻欧洲人民还在夜里,他们还需要再过7个小时才能看到太阳升起,所以,此刻欧洲人民的手表上显示的是凌晨1:00。如果你强迫他们用北京时间那他们每天看到日出的时间就是下午3点。

    也就是说,东8区的北京人民的手表显示的8:00和东1区欧洲人民手表显示的1:00是相同的时刻:

    "2014-10-14 08:00 +8:00" = "2014-10-14 01:00 +1:00"
    

    这就是本地时间的概念。

    但是,在计算机中,如果用本地时间来存储日期和时间,在遇到时区转换的问题上,即便你非常清楚地知道如何转换,也非常麻烦,尤其是矫情的美国人还在采用夏令时。

    所以我们需要引入“绝对时间”的概念。绝对时间不需要年月日,而是以秒来计时。当前时间是指从一个基准时间(1970-1-1 00:00:00 +0:00),到现在的秒数,用一个整数表示。

    当我们用绝对时间表示日期和时间时,无论服务器在哪个时区,任意时刻,他们生成的时间值都是相等的。所有编程语言都提供了方法来生成这个时间戳,Java和JavaScript输出以毫秒计算的Long型整数,Python等输出标准的Unix时间戳,以秒计算的Float型浮点数,这两者转换只存在1000倍的关系。

    实际上,操作系统内部的计时器也是这个标准的时间戳,只有在显示给用户的时候,才转换为字符串格式的本地时间。

    正确的存储方式

    基于“数据的存储和显示相分离”的设计原则,我们只要把表示绝对时间的时间戳(无论是Long型还是Float)存入数据库,在显示的时候根据用户设置的时区格式化为正确的字符串。

    数据的存储和显示相分离是非常基本的设计原则,却常常被大多数开发人员忽略。举个例子,在Excel中编写一个表格,表格的数据可视为数据的存储格式,你可以把表格的数据以柱状图或饼图表示出来,这些不同的图表是数据的不同显示格式,存储数据的时候,我们应该存储表格数据,绝不应该存储柱状图等图片信息。

    HTML和CSS也是数据的存储和显示相分离的设计思想。

    所以,数据库存储时间和日期时,只需要把Long或者Float表示的时间戳存到BIGINTREAL类型的列中,完全不用管数据库自己提供的DATETIMETIMESTAMP,也不用担心应用服务器和数据库服务器的时区设置问题,遇到Oracle数据库你不必去理会with timezonewith local timezone到底有啥区别。

    读取时间时,读到的是一个Long或Float,只需要按照用户的时区格式化为字符串就能正确地显示出来:

    // Java:
    long t = System.currentTimeMillis();
    System.out.println("long = " + t);
    
    // current time zone:
    SimpleDateFormat sdf_default = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    System.out.println(sdf_default.format(t));
    
    // +8:00 time zone:
    SimpleDateFormat sdf_8 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    sdf_8.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
    System.out.println("GMT+8:00 = " + sdf_8.format(t));
    
    // +7:00 time zone:
    SimpleDateFormat sdf_7 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    sdf_7.setTimeZone(TimeZone.getTimeZone("GMT+7:00"));
    System.out.println("GMT+7:00 = " + sdf_7.format(t));
    
    // -9:00 time zone:
    SimpleDateFormat sdf_la = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    sdf_la.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
    System.out.println("America/Los_Angeles = " + sdf_la.format(t));
    

    输出:

    long = 1413230086802
    2014-10-14 03:54
    GMT+8:00 = 2014-10-14 03:54
    GMT+7:00 = 2014-10-14 02:54
    America/Los_Angeles = 2014-10-13 12:54
    

    基于绝对时间戳的时间存储,从根本上就没有时区的问题。时区只是一个显示问题。额外获得的好处还包括:

    • 两个时间的比较就是数值的比较,根本不涉及时区问题,极其简单;

    • 时间的筛选也是两个数值之间筛选,写出SQL就是between(?, ?)

    • 显示时间时,把Long或Float传到页面,无论用服务端脚本还是用JavaScript都能简单而正确地显示时间。

    你唯一需要编写的两个辅助函数就是String->LongLong->StringString->Long的作用是把用户输入的时间字符串按照用户指定时区转换成Long存进数据库。

    唯一的缺点是数据库查询你看到的不是时间字符串,而是类似1413266801750之类的数字。

    展开全文
  • Matlab用三种格式来表示日期与时间

    万次阅读 2017-03-19 15:39:34
    Matlab用三种格式来表示日期与时间 转自http://www.360doc.com/content/14/1206/16/16363452_430844776.shtml (1)双精度型日期数字:一个日期型数字代表从公元0年到某一日期的的天数,例如,2008年8月26日夜时0...

    Matlab用三种格式来表示日期与时间
    转自http://www.360doc.com/content/14/1206/16/16363452_430844776.shtml
    (1)双精度型日期数字:一个日期型数字代表从公元0年到某一日期的的天数,例如,2008年8月26日夜时0点钟被表示为733646,而这同一天的中午12点就被表示为733646.5,也就是说任何一个时刻都可以用一个双精度型数字表示。
    (2)不同形式的日期字符串:Matlab定义了28种标准日期格式的字符串。
    (3)数值型的日期向量:用一个6元数组来表示一个日期时间,例如,[2008 8 26 12 5 0]表示2008年8月26日12点05分0秒;用一个3元数组来表示一个日期,例如,[2008 8 26]表示2008年8月26日。

    用日期数字表示日期使计算机更容易计算,但是不直观,因此Matlab提供了许多函数来实现三种日期格式之间的转化。
    (1)datestr: 实现将日期数字和日期向量转化为日期字符串,可以在Matlab命令窗口中输入help datestr来查看关于datestr的用法。
    (2)datenum: 实现将日期字符串和日期向量转化为日期数字,可以在Matlab命令窗口中输入help datenum来查看关于datenum的用法。
    (3)datevec: 实现将日期数字和日期字符串转化为日期向量,可以在Matlab命令窗口中输入来help datevec查看关于datevec的用法。

    Matlab中其他常用的函数:
    (1)clock:将当前时间和日期返回到一个(6元)数组中。
    >> T = clock
    T =
          2008    8    26    12     31    32.75
    注:直接输出clock时,可能会以科学计数法的方式输出,
    clock
    ans =
      1.0e+003 *
        2.0100    0.0010    0.0280    0.0190    0.0280    0.0296
    用fix(clock) 则能输出易于阅读的形式
    fix(clock)
    ans =
            2010           1          28          19          28          48

    (2)now:将当前时间和日期以一个双精度型日期数字返回。
    >> t = now
    t =
      7.3365e+005
    (3)date:将当前时间和日期以dd-mmm-yyyy格式的字符串返回。
    >> d = date
    d =
    26-Aug-2008
    (4)weekday:返回一个日期数字或一个日期字符串的星期及一个星期中的第几天。
    >> [d,w]=weekday('26-Aug-2008')
    d =
         3
    w =
    Tue
    >> [d,w]=weekday(733646)
    d =
         3
    w =
    Tue
    (5)eomday:返回一个月的最后一天。
    >> eomday(2008,2)
    ans =
    29
    (6)calendar:对用户要求的任何一个月生一个日历并显示在命令窗口中,或将其放在一个6×7的矩阵中。
    >> calendar(2008,8)
                       Aug 2008
         S     M    Tu     W    Th     F     S
         0     0     0     0     0     1     2
         3     4     5     6     7     8     9
        10    11    12    13    14    15    16
        17    18    19    20    21    22    23
        24    25    26    27    28    29    30
        31     0     0     0     0     0     0
    >> c=calendar(2008,8)
    c =
         0     0     0     0     0     1     2
         3     4     5     6     7     8     9
        10    11    12    13    14    15    16
        17    18    19    20    21    22    23
        24    25    26    27    28    29    30
        31     0     0     0     0     0     0
    (7)tic,toc:函数tic和toc被用来对一组Matlab运算进行计时。Tic启动一个秒表,toc停止这个秒表并计算出所经历的时间。
    >> tic;plot(rand(50,5));toc
    Elapsed time is 3.302510 seconds.
    (8)cputime:函数cputime返回用秒表示的、自从当前的Matlab周期启动之后Matlab所占用的CPU时间。
    (9)datetick:用来自动完成对数据进行图形显示并且用日期或时间字符串来作坐标的标签。
    >> y=[1998 1998 1999*ones(1,12)];
    >> m=[11 12 (1:12)];
    >> s=[1.1 1.3 1.2 1.4 1.6 1.5 1.7 1.6 1.8 1.3 1.9 1.7 1.6 1.95];
    >> bar(datenum(y,m,1),s)
    >> datetick('x','mmmyy')
    >> ylabel('$ Million')
    >> title('Figure 15.2:Monthly Sales')

    常用的日期操作函数
    datestr(d,f) 将日期数字转换为字符串
           datenum(str,f) 将字符串转换为日期数字
           datevec(str) 日期字符串转换向量
           weekday(d) 计算星期数
           eomday(yr,mth) 计算指定月份最后一天
           calendar(str) 返回日历矩阵
            clock 当前日期和时间的日期向量
           date 当前日期字符串
           now 当前日期和时间的序列数

    matlab中如何获取当前日期时间函数的具体应用如下:

    一、date ,now,clock

    1.date:按照日期字符串格式返回当前系统日期
        2.now:按照连续的日期数值格式返回当前系统时间
        3.clock:按照日期向量格式返回当前系统时间
    >> date,now,clock

    ans =

    09-Apr-2011
        ans =

      7.3460e+005
       ans =

      1.0e+003 *

        2.0110    0.0040    0.0090    0.0170    0.0430    0.0470

    二、year,month,day,hour,minute,second
    matlab中分别使用year,month,day,hour,minute,second从上面讲到的字符串和连续型日期时间格式中提取年月日时分秒等信息
    >>[year(date),year(now)]
    ans =
           2011        2011
    注意:上面的函数是没法从向量型日期时间格式中正确读取上述信息的
    >>year(clock)
    ans =
        5     0     0     0     0     0
      三、Matlab中处理日期与时间的函数详解

    http://eelab.tsinghua.edu.cn/czzheng/blog/10-01/184048_13d5c.html

    1.now 返回当前的日期值(这个数的整数部分表示从公元0年1月1日到该日的天数,小数部分则表示具体的时刻)
    eg.
    t=now
    t =7.3354e+005

    2.datestr 日期转换成字符形式

    调用格式 datestr(date,dateform) date为要转换的日期值,dateform为日期格式参数(具体参数值可通过 help datestr查看帮助)
    dateform参数说明
          DATEFORM number    DATEFORM string          Example
        ================================================================
            0              'dd-mmm-yyyy HH:MM:SS'    01-Mar-2000 15:45:17
            1              'dd-mmm-yyyy'             01-Mar-2000
            2              'mm/dd/yy'                03/01/00     
            3              'mmm'                     Mar          
            4              'm'                       M            
            5              'mm'                      03            
            6              'mm/dd'                   03/01        
            7              'dd'                      01            
            8              'ddd'                     Wed          
            9              'd'                       W            
           10              'yyyy'                    2000         
           11              'yy'                      00           
           12              'mmmyy'                   Mar00        
           13              'HH:MM:SS'                15:45:17     
           14              'HH:MM:SS PM'              3:45:17 PM
           15              'HH:MM'                   15:45        
           16              'HH:MM PM'                 3:45 PM     
           17              'QQ-YY'                   Q1-96        
           18              'QQ'                      Q1           
           19              'dd/mm'                   01/03        
           20              'dd/mm/yy'                01/03/00     
           21              'mmm.dd,yyyy HH:MM:SS'    Mar.01,2000 15:45:17
           22              'mmm.dd,yyyy'             Mar.01,2000
           23              'mm/dd/yyyy'              03/01/2000
           24              'dd/mm/yyyy'              01/03/2000
           25              'yy/mm/dd'                00/03/01
           26              'yyyy/mm/dd'              2000/03/01
           27              'QQ-YYYY'                 Q1-1996        
           28              'mmmyyyy'                 Mar2000        
           29 (ISO 8601) 'yyyy-mm-dd'              2000-03-01
           30 (ISO 8601) 'yyyymmddTHHMMSS'         20000301T154517
           31              'yyyy-mm-dd HH:MM:SS'     2000-03-01 15:45:17eg.
    >> t=now;datestr(t,0)ans =09-May-2008 21:07:233.date将字符串转换成日期值
    调用语法:date(year,month,day)
              datenum(year,month,day,hour,minute,second)
    eg.>> t=now;datestr(t,0)ans =09-May-2008 21:07:23>> datenum(ans)
    ans =7.3354e+005>>4.datevec将datestr中指定的格式日期字符转换成包含日期分量的数值向量
    eg.
    >>c=datevec('09-May-2008 21:07:23')c =         2008            5            9           21            7           23
    5.weekday 可从一个日期值或字符串中找出具体的日子和星期。
    eg.
    >> [d,w]=weekday( 7.3354e+005)d =      2
    w =Mon>>[d,w]=weekday('21-Dec-2008')d =      1
    w =Sun6.eomday 返回任何一个月最后一天是几号
    调用语法:eomday(year,month) 因为闰年的存在故需要year这个参数。
    eg.>> eomday(2008,2)ans =     29>> eomday(2007,2)ans =     287.calendar 生成指定月份的日历。
    eg
    >> calendar(date)
                        May 2008
          S      M     Tu      W     Th      F      S
          0      0      0      0      1      2      3
          4      5      6      7      8      9     10
         11     12     13     14     15     16     17
         18     19     20     21     22     23     24
         25     26     27     28     29     30     31
          0      0      0      0      0      0      0
    >> calendar(2008,5)
                        May 2008
          S      M     Tu      W     Th      F      S
          0      0      0      0      1      2      3
          4      5      6      7      8      9     10
         11     12     13     14     15     16     17
         18     19     20     21     22     23     24
         25     26     27     28     29     30     31
          0      0      0      0      0      0      0>>
    补充:date返回当天日期的字符串
    eg.
    >> dateans =09-May-20088.tic ,toc 两个结合使用可计算一组matlab操作指令的执行所需时间
    eg.
    >> tic; plot(rand(500,5));toc
    Elapsed time is 0.078000 seconds.
    另外Matlab还提供了cputime和etime(具体使用方法可看帮助文档),用来计算一次运算所占cpu时间.
    eg.
    >>t0=cputime;myoperation;cputime-t0
    ans=0.1400
    >>t1=clock;myoperation;etime(clock,t1)
    ans=11.2800
    注:myoperation为用户自定义脚本文件
    >> t0=cputimet0 =    53.8125>> t1=cputimet1 =    54.0313>> deltaT=t1-t0deltaT =     0.2188
    >> t1=clockt1 =1.0e+003 *     2.0080     0.0050     0.0090     0.0210     0.0460     0.0254>> deltaT=etime(t1,t0)deltaT =     9.9060>>
    9.datetick 设一个坐标为时间标签eg.
    >> t=(1900:10:1990)';
    >> p=[100 200 150 350 200 400 500 100 30 120];
    >> plot(datenum(t,1,1),p);
    >> datetick('x','yyyy')
    >> title('test time tip')

    展开全文
  • 新浪科技讯 3月8日20:20消息,谷歌中国刚刚向新浪科技确认,由于Google.cn和Google.com等相关域名不能被正常解析,导致部分中国地区用户今日下午不能访问谷歌公司相关网站。谷歌表示,目前服务已全面恢复,具体原因...
  • 修改Linux系统时间

    千次阅读 2016-08-22 16:11:58
    在做嵌入式Linux开发时,我们经常会发现系统时间与我们的实际时间不一样。以我所在的东八区为例,产品中Linux显示时间晚于本地时间8小时。这是因为嵌入式Linux系统并没有像桌面Linux系统那样完整的系统设置功能,而...
  • 本文对2006年5月至2014年11月的软件设计师级别下午试题进行汇总统计,希望对准备参加软考的朋友能有所帮助。 软件设计师下午考试题汇统计 具体统计情况如下表所示 试题统计   试题...
  • SimpleDateFormat 日期,时间格式转化

    千次阅读 2019-08-27 18:55:23
    SimpleDateFormat 一定要弄清楚 parse 与 format 不然总是遇到异常 就是使用不对的问题 parse()返回的是一个Date类型...假如获取了系统时间 Date date = new Date(); 这个date 定义的Date 类型的数据 可以使用...
  • 时钟时间 此时钟显示当前时间。.(使用JS)表示....它自动显示时间。.它像墙钟一样显示..并在正确时间显示时钟的上午和下午
  • 接到任务后,项目经理小王开始着手编制项目管理计划,根据招标文件,小王列出了一个初步的进度计划,进度计划中的各里程碑点正好是甲方招标文件中规定的各时间节点。随后,小王估计了项目的各项开销,确定了项目预算...
  • 时间片轮询应用

    千次阅读 2017-08-23 11:28:35
    上次发帖《浅谈单片机应用程序架构》后,很多网友都希望有下午,详细说明3中架构的具体应用。而在这一段时间以来本人一直在考虑写这样一个帖子,但是由于工作的原因基本上没有时间写这样一个贴。今天有点空余时间,...
  • 时间转换为时间戳: /* * 将时间转换为时间戳 */ public static String dateToStamp(String s) throws ParseException{ String res; SimpleDateFormat simpleDateFormat = new SimpleDateFormat...
  • 最终项目延期超过50%,电力系统公司对系统的延期表示了强烈的不满。 【问题1】 结合本题案例判断下列选项的正误(填写在答题纸的对应栏内,正确的选项填写“√”,错误的选项填写“×”): (1)项目范围确认可以针对...
  • 【PMP】8.19下午

    千次阅读 2019-08-19 15:33:03
    D、信息发送者对信息接收者表示关心 2、下列哪种合同类型要求具有最完整且定义最精准的工作范围,并要求做好最周到的准备?C A、固定费加补偿合同 B、单价合同 C、固定总价合同 D、工料合同 3、天气是一个众所周知的...
  • 描述:有一个会员表,有个birthday字段,值为’YYYY-MM-DD’格式,现在要查询一个时间段内过生日的会员,比如’06-03’到’07-08’这个时间段内所有过生日的会员。 SQL语句: Select * From user Where DATE_FORMAT...
  • 第12章 数据库系统工程师下午试题分析与解答(2010年上半年下午试题)来自百度文档   第12章 数据库系统工程师下午试题分析与解答   试题一 阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。...
  • java中正确解决用户退出

    万次阅读 2013-06-03 00:18:40
    正确解决用户退出问题注:本文是翻译的javaworld.com上的一篇名为《Solving the logout problem properly and elegantly》的文章,原文请参看Solving the logout problem properly and elegantly文中所有示例程序...
  • iOS 时间格式化

    千次阅读 2015-11-20 19:02:31
    时间转换字符串转时间iOS 中 NSDate 是时间管理类,这里获取到的时间是 UTC 时间,可以根据需要转换成任意地区的时间。 NSFormatter 类是时间格式化类,可以根据指定的格式、地区将指定的时间转换为 NSDate 对象...
  • Oracle集群(RAC)时间同步(ntp和CTSS)http://blog.itpub.net/26736162/viewspace-2157130/ crsctl stat res -t -initps -ef|grep ctsscrsctl check ctsscluvfy comp clocksync -n all -verbose crsctl start ...
  • Java时间格式化年-月-日-时间

    万次阅读 2019-03-16 21:07:23
    SimpleDateFormat类的format方法才是正确格式化时间的不错选择! yyyy表示年 mm表示月 不多说,很直观大家都能明白 a表示的是上午下午 - :只是分隔符而已,根据自己的情况去改变 年月日的位置也是可以调换的 ...
  • CVPR 2015 Oral概览 - 第三天下午

    千次阅读 2015-10-13 14:07:08
    第三天下午两大主题:图像处理传统项目之,局部特征与图像视频复原。
  • 2014上半年系统集成项目管理工程师 下午试卷I (考试时间 14:00~16:30 共 150分钟) 1.在答题纸的指定位置填写你所在的省、自治区、直辖市、计划单列市的名称。 2.在答题纸的指定位置填写准考证号、出生年月日...
  • C++11时间详解

    万次阅读 2015-07-14 00:08:50
     C++ 11增加了三个与时间相关的类型:时间段、时钟、时间点。 以史为鉴  现有的系统API中,时间太过于碎片化了。有time_t(秒)、struct timeval(微秒)、struct timespec(纳秒)这几个时间单位,他们的接口非常不...
  • linux时间函数总结

    千次阅读 2015-11-21 17:27:44
    linux下常用的时间函数: 读取时间函数:gettimeofday,time,ftime 时间格式转换函数:ctime/ctime_r,localtime/localtime_r, asctime/asctime_r,strftime/strptime,gmtime/gmtime_r,mktime 设置时间函数:...
  • 2017年下半年系统集成项目管理工程师 下午试卷I (考试时间 14:00~16:30 共 150分钟) 1.在答题纸的指定位置填写你所在的省、自治区、直辖市、计划单列市的名称。 2.在答题纸的指定位置填写准考证号、出生年月...
  • 时间时区处理问题

    千次阅读 2016-12-13 11:47:07
    关于作者 ...每种程序开发语言都自带处理日期和时间的相关函数,很多开发者把日期和时间存入数据库中,但是,一旦涉及到跨时区的日期和时间的处理时,大多数开发者根本就不明白如何正确地处理日期和时间
  • Ubuntu下如何正确使用 vim/vi 编辑器

    千次阅读 2020-02-10 18:39:41
    Ubuntu下如何正确使用 vim/vi 编辑器1、关于文本编辑器2、vi 编辑器3、vi 编辑器的使用方法3.1 如何调用vi ;3.2 vi 的三种命令模式;3.3 文件的保存和退出;3.4 光标移动;3.5 插入模式(文本的插入);3.6 文本...
  • 程序员跳槽时,如何正确做好职业规划? 100offer 100offer 严格筛选来自世界各地的优质公司,打造了一个优秀人才和公司的平台,致力于帮最好的人才发现更好的工作机会。使用 100offer ,互联网人可在一周内收到...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,272
精华内容 8,108
关键字:

下午时间的正确表示