当我使用以下代码时,Date
Object错误。
Date date = new Date(day.getYear(), day.getMonth(), day.getDay());
谁能告诉我如何从年、月和日的值中获取Date对象?
如果你坚持使用Java,你可以通过一种变通方法来实现
java.util.Date date = new java.text.SimpleDateFormat("dd.MM.yyyy").parse("05.08.2015");
正如@Thomas已经指出的,日期/月/年的默认构造函数已弃用。如果您可以访问Java8,可能会查看此链接。
如果不知道更多,我不得不猜测,但你可能没有读过关于那个不推荐的构造函数的JavaDoc:
年份减去1900年
月份0-11之间的月份
日期在1-31之间。
如你所见,如果你想为今天(2015年8月5日)创建一个日期,你需要使用新日期(115,7,5)
如果您看到该文档,您可以自由猜测为什么不推荐使用该文档,并且不应在任何新代码中使用该文档。:)
您可以使用日历
类来实现这一点。
public static void main(String[] args) throws Exception {
Date date = new Date (115, 7, 5);
System.out.println("date = " + date);
Calendar calendar = GregorianCalendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, 5);
calendar.set(Calendar.MONTH, 7);
calendar.set(Calendar.YEAR, 2015);
calendar.set(Calendar.MILLISECOND, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.HOUR_OF_DAY, 0);
date = calendar.getTime();
System.out.println("calendar = " + date);
// or create directly a new clanedar instance
// thanks Tom to mention this
calendar = new GregorianCalendar(2015, 7, 5);
date = calendar.getTime();
System.out.println("calendar = " + date);
}
输出
date = Wed Aug 05 00:00:00 CEST 2015
calendar = Wed Aug 05 00:00:00 CEST 2015
calendar = Wed Aug 05 00:00:00 CEST 2015
问题内容: 我在String上有个约会,像这样: 我想将其划分为: 做这个的最好方式是什么? 问题答案: 在Java中拆分字符串的一种方法是使用.split(“ regex”),该方法根据提供的模式拆分字符串,并返回String数组。 获取当前日期:您还可以通过更改传递给SimpleDateFormat的值来更改日期格式。不要忘记进口。
我需要一个可配置的格式作为输出。 我将永远只获得从“01”到“31”的日期字符串 我将永远只获得从“1000”到“9999”的年份字符串 我将永远只获得从“01”到“12”的月份字符串(永远不获得一月、二月等) 我知道SimpleDateFormat(format)可以在一定程度上起作用。 类似于:
问题内容: 输出为: 1988年 1月25 日星期三00:00:08 IST 1989 我过去了,但我得到了。为什么? 问题答案: 日历中的月份从零开始。因此,将12解释为12月+ 1个月。用
输出为: 1988 1989年1月25 00:00:08日星期三 我通过了1988年12月25日的考试,但我得到了1989年1月25日的考试。为什么?
我需要一个解决方案来解决返回日(周一、周二…),当我输入诸如年,月,日期。