Julia:Datetime的用法

来源:互联网 发布:石家庄星云网络 编辑:程序博客网 时间:2024/04/26 13:07

一、日期转换:在using Datetime下有效

  MATLAB:0000

  JULIA: 1970/1/1 0:0:0开始

  datetime+second(n)

在julia中,北京时间可选用这个时区:Offset{480}

Zone123

"Asia/Shanghai"

China

UTC+08:00

CT

 

julia>datetime(2013,7,1,12,0,0,0,Offset{0}) #

2013-07-01T12:00:00 -00:00

julia>datetime(2013,7,1,12,0,0,0,Offset{480}) # 真正的北京时间

2013-07-01T12:00:00 +08:00

 

julia> datetime(2013,7,1)

2013-07-01T00:00:00 UTC

 

julia>datetime(2013,7,1,12,0,0,0,"Asia/Shanghai")

2013-07-01T12:00:00 CST

 

julia>datetime(2013,7,1,12,0,0)

2013-07-01T12:00:00 UTC

 

julia> now(Offset{480}) # 北京时间要比美国时间早8个小时

2014-05-14T09:02:46 +08:00

julia> today()

2014-05-14

julia>string(datetime(2013,7,1,12,0,0,0,Offset{480}) ) #字符串

"2013-07-01T12:00:00+08:00"

 

julia> dt1=date(2014,5,14);

julia> dt2 =date(2014,5,2);

julia> dt1-dt2                 #日期相关的天数,但不能相加!!!

12

julia> dt2 - year(4) +days(366)   # 不同周期的相加,相减

2011-05-03

julia> st=datetime(2013,7,1,12,0,0,0,Offset{480}) ;

 

julia> st-second(60)   # 相减60秒

2013-07-01T11:59:00 +08:00

 

julia>[year(st),month(st),day(st),hour(st),minute(st),second(st)]

6-element Array{Int64,1}:

 2013  #年

    7  #月

    1  #日

   12  #小时

    0  #分

    0  #秒

julia> timezone(st) #查看时区

Offset{480}

julia> dayofweek(now(Offset{480}))#周三,返回为3

3

julia>date(datetime(2014,1,4,12,30,0)) #查看日期

2014-01-04

julia>typeof(date(datetime(2014,1,4,12,30,0)))

Date{ISOCalendar}

注意:Date类型支持排序操作!

julia>sort([date(2014,1,2),date(2013,1,2)])

 2-element Array{Date{ISOCalendar},1}:

 2013-01-02

 2014-01-02

几个区别:dayofweek, dayofweekinmonth,daysofweekinmonth

julia>dayofweek(date(2014,5,14)) # 此时是星期几,星期三

3

# 当天的星期日,在当月中,排行第几?,2014,5,14在5月份中是第2个星期三,但不是表示,是第2周

julia>dayofweekinmonth(date(2014,5,14))

2

julia> daysofweekinmonth(date(2014,5,14))#当天在这周是第几天,第4天??不确定!!

4

 

注意,datetime最后有二个参数是比正常情况下要多,主要是考虑到全球不同时区的时差影响。

strftime([format], time)# 这个好用

 

strptime([format], timestr) #这个难用

 

问:当日所在的这周是当月第几周?

julia> date(now())#假定当天为2014-5-14

2014-05-14

# 当周在当月中是第3周

julia> week(date(2014,5,14))-week(date(2014,5,1))+1

3

 

julia>date(2014,5,19)+day(1)

2014-05-20

 

string(date(datetime(2014,1,2)))

 

0 0