在角色 Dateish 中§

请参阅主要文档 在上下文中 了解方法格式化程序

method formatter(Dateish:D:)

返回用于转换为 Str 的格式化函数。如果在对象构造时未提供任何函数,则使用默认格式化程序。在这种情况下,该方法将返回一个 Callable 类型对象。

格式化函数由 DateTime 方法 Str 调用,调用者作为其唯一参数。

my $dt = Date.new('2015-12-31');  # (no formatter specified) 
say $dt.formatter.^name;          # OUTPUT: «Callable␤» 
my $us-format = sub ($self{ sprintf "%02d/%02d/%04d".month.day.year given $self};
$dt = Date.new('2015-12-31'formatter => $us-format);
say $dt.formatter.^name;           # OUTPUT: «Sub␤» 
say $dt;                          # OUTPUT: «12/31/2015␤»