1

我将值和日期值存储在记录存储中。我的日期字段设置如下:

StartDate = new DateField("Start Date ", DateField.DATE);
                cal1 = Calendar.getInstance();
                cal1.set(Calendar.YEAR, 2009);
                cal1.set(Calendar.MONTH, 0);
                cal1.set(Calendar.DAY_OF_MONTH, 1);
                StartDate.setDate(cal1.getTime());

我将日期保存为字符串,如下所示:

 strStartDate = cal1.get(cal1.DAY_OF_MONTH) + "/" +
                (cal1.get(cal1.MONTH) + 1) + "/" +
                cal1.get(cal1.YEAR);
 String detailsToAdd = strStartDate

(我已经缩短了代码。)现在,我希望能够在未来阶段编辑日期。但是,我需要代码才能做到这一点。到目前为止,我有:

EStartDate = new DateField("Start Date ", DateField.DATE);

我不得不更改DateField盒子的名称,因为这与其他内容冲突。

我基本上需要能够显示所选记录的日期属性。我目前显示了其他信息。我只需要能够显示正确的日期。当我运行程序时,日期字段显示<date>

任何帮助都会很好

4

3 回答 3

1

您的第一个代码如下是正确的:

            StartDate = new DateField("Start Date ", DateField.DATE);
            cal1 = Calendar.getInstance();
            cal1.set(Calendar.YEAR, 2009);
            cal1.set(Calendar.MONTH, 0);
            cal1.set(Calendar.DAY_OF_MONTH, 1);
            StartDate.setDate(cal1.getTime());

但是对于第二个,您不能直接将日期保存到字符串。您必须像这样将其转换为字符串:

            String detailsToAdd =strStartDate.toString();
于 2011-09-07T19:27:18.107 回答
0

您提供的代码片段不使用setDate(Date)。如果您的实际代码也没有使用它,那么<date>在该字段中是正确的行为 - 它告诉您日期“未初始化”。

在这种情况下,首先使用一些简单的代码对其进行烟雾测试,例如

    eStartDate = new DateField("Start Date ", DateField.DATE);
    eStartDate.setDate(new Date());

然后,如果显示日期,请了解如何从 重新创建所需的 Date 参数strStartDate。也就是说,如果您希望用户能够修改它,请重新创建 - 因为如果您只需要显示日期,那么使用StringItem显示所需的字符串会更简单

于 2011-09-08T12:21:27.853 回答
0

可能是您正在运行的语言环境不接受以/作为分隔符的日期吗?我确信有一种独立于语言环境的方式来编写日期,而无需像您的示例中那样使用字符串连接。

于 2009-04-09T22:35:22.597 回答