使用什么数据类型来存储"MMYYYY"格式



我正在使用。net环境,想要跟踪信用卡中的过期日期。日期的性质是"mymyyyy"。推荐的存储方式是什么?我应该使用。net字符串还是使用。net DateTime对象?

在几乎所有情况下,最简单的解决方案往往是最好的解决方案。它易于维护,易于其他程序员识别,甚至可能使您远离麻烦(int和字符串可能导致本地化问题和无效值)。

A System.DateTime是最好的选择,它为那些可能在特定日期到期的卡提供了灵活性(它们很少见,但确实存在,随着临时信用卡的流行,它们可能会变得更加普遍)。当存储值时,只使用System.DateTime结构体的Date属性,因为它将忽略时间分量。

将MM和YYYY存储为两个独立的整数值

对于想要存储信用卡过期日期的情况,最好像这样定义结构体。这确保不会出现无效值。

public enum MonthOfYear
{
    Jan = 1,
    Feb = 2,
    ...
}
public struct CardExpiration
{
    public MonthOfYear Month;
    public int Year;
}

但是,您可以使用DateTime来使它更快。

另一种将其存储为整数的方法,结果为:

VALUE = YYYY * 100 + MM

那么2011年7月你将得到2011 * 100 + 07 = 201107,2015年10月你将得到201510,2014年12月你将得到201412。如果卡片过期了,这种比较方法不是很容易,因为您只需要比较两个数字。

相关内容

  • 没有找到相关文章

最新更新