Perl 6 时间日期:Date Time Intevel

Perl 6 的时间,日期类已经非常和 Javascript 的类似了,都特别的愚化。Perl 6 对应1个role(角色)和4个class(类)
下面举例说明

Date 日期类

#####支持的操作符
==, <, <= , >, >=, !=, eq, lt, le

####方法
$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 

#都是YYYY-MM-DD格式的字符串
.Str 
.gist 

#### 子程序和函数
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

# 获取器
.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角色

# 获取器
.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
  • 用秒表示特定的时刻/时间点,可以有小数
  • 2个 Instant 相减得到 Duration(数值)
  • Instant 加 Duration 还是Instant(说得通)
.from-posix($posix, $prefer-leap-second)
 # 第二个参数是是否考虑闰秒;如果 True,则闰秒不考虑
.to-posix
#和 from-posix 刚好相反,返回 POSIX timestamp, True/False List

需要注意,Perl 6 和其他程序使用的时间不同,Perl的时间原点和其他的程序不一样的
其他程序都是已1970年1月1日,00:00:00 UTC为起点的

Reference

  1. Date and Time in Perl6
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容