如何使用EBNF表示日期时间格式

时间:2014-09-06 08:00:37

标签: datetime ebnf

我想了解如何代表' datetime'格式如" yyyy-MM-dd hh:mm"使用EBNF。

1 个答案:

答案 0 :(得分:0)

使用EBNF制定此方法的一种可能方法如下所示。该表达式仅解析合法的年,月和时间戳。但是,它允许任何月份最多有31天。

Timestamp = [ "-" ] Year "-" Month "-" Day " " Time ;
Year = Digit Digit Digit Digit ;
Month = "0" Digit | "1" "0".."2" ;
Day = "0".."2" Digit | "3" "0".."1" ;
Time = Hour ":" Minute ;
Hour = "0".."1" Digit | "2" "0".."3" ;
Minute = "0".."5" Digit ;
Digit = "0".."9" ;