我打算在Linux环境下用C语言编写一个模块,从用户定义的日期和时间字符串中读取时间。用户可以输入如下所示的时间(不限于此)。他可以跳过约会并只输入时间。
DD/MM/YY HH-MI-SS
DD/MM/YYYY HH/MI/SS
YYYY-MM-DD-HH-MI-SS-MSC
YYYY-DDD-HH-MI-SS
HH-MI-SS
HH/MI/SS
.......
如何向用户提供此类设施?用户应该可以灵活地选择他的表达方式。 该模块应该能够从该表达式中提取日期和时间详细信息。在第一步中,他应该定义他的表达。在第二步中,他应该根据他的表达进入时间。
答案 0 :(得分:0)
如果您提前知道格式是什么(因为用户已告诉您),则可以使用标准strftime()
函数来处理您显示的所有选项。您必须将您使用的符号转换为%X
使用的strftime()
符号,但这主要是机械的(除了您的MM在月份和分钟之间不明确)。< / p>
如果你没有提前知道格式是什么,那么生活就会困难得多。特别是,给定单个值,代码没有可靠的方法来区分:
DD/MM/YY
MM/DD/YY
HH/MI/SS
如果有足够的样本数据,您可以区分它们,但确实需要足够的样本。