我正在使用 boost optionsparser 来解析用户传递的命令行参数。现在程序有一个选项供用户指定他/她选择的日期格式。
像,
program -d %d/%m/%Y-%H:%M:%S
,program -d %d/%m/%Y
等等。
我面临的问题是, *如何检查用户传递的格式字符串的有效性?*
我现在能想到的唯一方法是将格式字符串传递给日期类并在那里使用异常处理。
但是,如果在解析选项时有另一种方法来检查有效性,那么我不需要传递数据并做不必要的事情,因为我在实际使用格式生成日期字符串之前做了一些计算。