用于存储“MMYYYY”格式的数据类型

时间:2011-07-20 22:13:05

标签: c# .net datetime

我正在使用.NET环境,并希望跟踪信用卡中的到期日期。有“MMYYYY”性质的日期。什么是推荐的存储方式?我应该只使用.NET字符串还是使用.NET DateTime对象?

4 个答案:

答案 0 :(得分:2)

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

System.DateTime是最好的选择,并为您提供灵活性,这些卡可能也会在某一天到期(它们很少见,但确实存在,并且随着临时信用卡的流行而变得更加普遍) 。存储值时,只需使用Date结构的System.DateTime属性,因为这将忽略时间组件。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

对于你希望存储信用卡到期的情况,如果你这样定义你的结构,那就更好了。这可以确保不会发生无效值。

public enum MonthOfYear
{
    Jan = 1,
    Feb = 2,
    ...
}

public struct CardExpiration
{
    public MonthOfYear Month;
    public int Year;
}

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

答案 3 :(得分:0)

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

VALUE = YYYY * 100 + MM

因此,对于2011年7月,您将拥有2011年10月的2011 * 100 + 07 = 201107,您将拥有201510和2014年12月,您将拥有201412.如果卡已过期或不太容易,这种方式可以进行比较,因为您只需要比较两个数字。