0
public class CalendarUtil

{

    private Calendar cal = null;

    public String getRemId()

    {

        cal = Calendar.getInstance();

        return "" + cal.get(Calendar.DATE) + (cal.get(Calendar.MONTH)+1) +        cal.get(Calendar.YEAR);

    }        
}

我们如何在单击按钮时自动生成 ID,该 ID 将包含日期、月份、年份和从 000 开始的 3 位计数器的串联并将其显示在文本字段中?例如:- 28122012001、28122012002 等。我一直在尝试的代码如上

4

1 回答 1

0

我认为两个静态字段可以做到这一点。

private static String lastUsedDatePrefix;
private static int counter;

如果要创建新 ID,请检查日期前缀是否与存储的相同,lastUsedDatePrefix如果是,则递增counter其他设置counter=0并设置lastUsedDatePrefix为实际日期。

未经测试的实现:

public class CalendarUtil{
    private static String lastUsedDatePrefix = "";
    private static int counter = 0;

    public String getRemId(){
        final String datePrefix = new SimpleDateFormat("ddMMyyy").format(new Date());
        if (lastUsedDatePrefix.equals(datePrefix)) {
            CalendarUtil.counter++;
        }
        else{
            CalendarUtil.lastUsedDatePrefix = datePrefix;
            CalendarUtil.counter = 0;
        }
        final String counterSuffix = ((100 <= CalendarUtil.counter) ? ""
                : (10 <= CalendarUtil.counter) ? "0" : "00")
                + CalendarUtil.counter;
        return datePrefix + counterSuffix;
     }   
}
于 2012-12-27T21:39:24.767 回答