zoukankan      html  css  js  c++  java
  • Backup: Date and Time in Perl6

    时间

    Date

    #Operators
    ==, <, <= , >, >=, !=, eq, lt, le
    # Methods
    $date = Date.new(YEAR, MONTH, DAY, FORMATTER?)
    $date = Date.new(year => YEAR, month => MONTH?, day => DAY?,FORMATTER?)
    $date = Date.new(YYYY-MM-DD,FORMATTER?)
    
    $date = Date.new(now,FORMATTER?)
    $date = Date.new(DateTime.now,FORMATTER?)
    #字符串,Pair,Positional 都可以指定日期
    .today(:&formatter)
    #返回 Date object,并不是字符串,.today.Str
    .later(DELTA)
    .earlier(DELTA)
    Date.new('2015-12-24').later(:2years).later(days => 2)
    #DELTA单位可以是 day(s), week(s), month(s), year(s)
    #也可以使用 Pair
    #几天/年/月/周 之后或之前
    .truncated-to(UNIT)
    # UNIT 可以是 year,month,week
    #截取时间到当前 year 的第一天,当前 month 的第一天,当前 week 的第一天
    #------
    .succ .pred #自加一天,自减一天
    .Str .gist #都是YYYY-MM-DD格式的字符串
    #########
    # Subroutine/Functions
    sleep($seconds)
    #sleep 多少秒,可以不是整数
    sleep-timer($seconds)
    #返回中断时距离结束还剩多少秒,返回 Duration 类型
    sleep-until($until)
    #
    

    DateTime

    DateTime.new(Y, m, d, H, M, S,
      TZ?, :&formatter)
    DateTime.new(DateObj, H, M, S, TZ?,
      :&formatter)
    DateTime.new(year=>Y, month=>m, day=>d, hour=>H, minute=>M, second=>S, timezone=>TZ, :&formatter)
    DateTime.new(INSTANT, TZ?, :&formatter)
    DateTime.new(TIMESTAMP, TZ?, :&formatter)
    DateTime.new(FORMAT, TZ?, :&formatter)
    #和 Date 基本一样,字符串,Pair,Positional 都可以指定日期时间
    # 字符串格式:yyyy-mm-ddThh:mm::ssZ yyyy-mm-ddThh:mm:ss+0100
    .now(TZ?,:&formatter)
    #返回 DateTime object
    .clone()
    #可以对 year,month,day,hour,minute,second,tz,formatter 进行修改返回
    #格式和 .new 一样,也可以用 Pair
    #getter
    .hour .minute .second .whole-second .timezone
    .offset .offset-in-minutes .offset-in-hours
    .posix($ignore-timezone) #seconds since the Epoch
    #下面的和 Date 一样
    .later(*%unit)
    .earlier(*%unit)
    .trauncated-to($unit)
    #格式转换
    .Str #返回的格式根据 formatter 变
    .Instant
    .Date
    .utc #时区更改成 UTC,time 相应改变
    .local #时区更改为$*TZ(本地时区)
    

    Dateish

    #getter
    .year .month .day .day-of-month .formatter
    .is-leap-year
    .day-of-week #1 Monday 7 Sunday
    .day-of-year
    .days-in-month(year?,month?) #一个月的天数
    .week #返回 year,weekNumber List
    .week-number # 1-53
    .week-year #按 week 分,多的天算给前一年或下一年的那一周
    .weekday-of-month #这个月的第几个星期几
    .yyyy-mm-dd #和 Str 功能一样,不过格式固定了
    

    Duration

    其实就是个 数,is Cool does Real
    这样 Real 以及 Real的父类 Numeric 的方法都可以用

    #表示时间间隔,秒
    #当作数字时,返回 Rat/FatRat 数据类型
    
    

    Instant

    其实就是个 数,is Cool does Real
    这样 Real 以及 Real的父类 Numeric 的方法都可以用

    #用秒表示特定的时刻,可以有小数
    #2个 Instant 相减得到 Duration
    #Instant 加 Duration 还是Instant
    .from-posix($posix, $prefer-leap-second)
    #第二个参数是是否考虑闰秒;如果 True,则闰秒不考虑
    .to-posix
    #和 from-posix 刚好相反,返回 POSIX timestamp, True/False List
    
    天和地是灰色的,砖和瓦也是灰色的。临街的墙几经风化,几经修补,刷过黑灰、白灰,涂过红漆,书写过不同内容的标语,又终于被覆盖;风雨再把覆盖层胡乱地揭下来,形成一片斑驳的杂色,融汇于灰色的笼罩之中。路旁的树木苍黑,瓦楞中芳草青青。 远处,炊烟缭绕。迷蒙的曙色中,矗立着...
  • 相关阅读:
    锁,你知多少呢?
    成长于我
    js write google广告
    项目三边六拍
    IT新人培养计划
    网站变灰色 代码
    职业人生
    ASP.NET 4 新特性之一二
    .net 例子
    A Better sp_who2 using DMVs (sp_who3)
  • 原文地址:https://www.cnblogs.com/raybiolee/p/5551057.html
Copyright © 2011-2022 走看看