Perlの6、 111の89 87バイト
{~DateTime.new($_/Ⅿ,:formatter{"{(.year%Ⅽ,.month,.day).fmt('%02d','')}.{(.hour,.minute).fmt('%02d','')}"})}
やってみよう(111)
{TR/-//}o{S/..//}o{.yyyy-mm-dd~'.'~(.hour,.minute).fmt('%02d','')}o{DateTime.new($_/Ⅿ)}
試す(89)
{TR/- //}o{S/..//}o{.yyyy-mm-dd~'.'~(.hour,.minute).fmt('%02d')}o{DateTime.new($_/Ⅿ)}
やってみる(87)
説明:
o
中置演算子は、2つの機能を取り、複合関数を作成します。右端のものが最初に呼び出され、左のものが最初に呼び出され、その結果が返されます。
基本的に、4つのブロックラムダを使用して単一のラムダを生成します。
これは、WhateverCodeラムダのようなもの* + *
が作成される方法と大差ありません。
1000で割り、それを使用してDateTimeオブジェクトを作成します。
{DateTime.new($_/Ⅿ)} # Ⅿ is ROMAN NUMERAL ONE THOUSAND (3 bytes)
結果は以下によって使用されます:
{
.yyyy-mm-dd # 2019-01-11
~ '.' ~ # str concatenation with '.'
( .hour, .minute ).fmt('%02d') # add leading 0s (returns List)
}
それは私たちのような文字列を残します 2019-01-11.19 11
最初の2桁を削除する必要があります
{S/..//}
また、削除-
して
{TR/- //}