【问题标题】:Why does "Date d = new Date();" return an error?为什么“日期 d = 新日期();”返回错误?
【发布时间】:2011-05-08 21:25:49
【问题描述】:

这可能已经被问和回答了一百万次,但我似乎无法在任何地方找到解决方案。在 android 应用程序中启动活动后,我想显示当前日期和时间。据我了解,日期部分可以简单地通过以下方式完成:

Date d = new Date();  
d.getTime();  
CharSequence s  = DateFormat.format("EEEE, MMMM d, yyyy", d.getTime());  

TextView date = (TextView)findViewById(R.id.dateText);  
date.setText(s);  

TextView time = (TextView)findViewById(R.id.timeText);  
time.setText(s);  

在 Eclipse 中,它给了我一个错误,并说构造函数日期未定义。我选择了自动修复选项,它在 Date 构造函数中添加了一个 0 作为参数。这产生了一个日期,但日期是 1969 年 12 月 31 日。我在这里错过了什么?

这可能是微不足道的,但我还是新手。

提前感谢您的任何建议。

【问题讨论】:

标签: android date time


【解决方案1】:

您可能正在使用java.sql.Date。你想使用java.util.Date

【讨论】:

  • 这确实可能是编译器抱怨日期构造函数需要参数的原因。
  • 更改为 java.util.Date 有效。我需要重新格式化日期,所以如果我不能很快弄清楚,我可以再次发布。感谢您的帮助
  • 不用担心。此页面显示您可以使用的日期格式...developer.android.com/reference/android/text/format/… - 此外,按我的块旁边的“勾号”会很好。 :)
  • @Brandon Englert:如果这是正确答案,请不要忘记将其标记为已接受的答案(打勾):)
【解决方案2】:

来自http://download.oracle.com/javase/1.4.2/docs/api/java/util/Date.html的构造函数日期(长时间):

分配一个 Date 对象并将其初始化以表示自称为“纪元”的标准基准时间(即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。

相反,看看http://developer.android.com/reference/android/os/SystemClock.html

【讨论】:

    【解决方案3】:

    导入java.util.Date,您的问题将得到解决。

    【讨论】:

    • 你的回答和@musaul 的回答有什么区别吗?
    • 不,为什么会有?毕竟这是正确的答案,而且我已经好几次面临布兰登所做的同样的情况,而我给出的解决方案对我有用。所以,我发布了我的回复。
    猜你喜欢
    • 2019-07-12
    • 2016-05-18
    • 2011-05-18
    • 2016-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多