我有家庭作业,涉及进入2个整数(每月&年),我不知道如何做到这一点的用户,我寻觅了小日历类文档中,但我没有找到我所寻找的。 我打算做的主要事情是打印一个日历,就像在Windows中那样,我从用户那里得到的唯一的输入是月份和年份的数字,我需要找到一种方法来查找月份的天气31日,30日,29日或28日以及该月开始的那一天。 http://lifehacker.com/assets/2006/06/vista-windows-calendar.jpg这是我想要做的,但作为文本没有打印从其他月份的日子。如何通过输入整数的月份和年份来查找特定月份?
回答
您可以使用java.util.Date
此:
int month = 3 ; // Input
int year = 2012 ; // Input
Date date = new Date() ;
date.setMonth(month) ;
date.setYear(year) ;
但由于Date
已被弃用,你将不得不使用java.util.Calendar
代替。等效功能如下:
Calendar.set(Calendar.MONTH, month) ;
Calendar.set(Calendar.YEAR, year) ;
由于这是作业,所以我没有把所有的豆类都洒出来。你必须弄清楚其余的。
不知道你尝试过什么或者什么你找到一个个月平均值,我想你想获得基于在一年零一个月的Date对象。
的Calendar
类是一个正确的开始。首先,您应该使用getInstance()
方法获得实例,特别考虑set(int field, int value)
方法以设置该日历的年份和月份。
如果您想知道如何知道您正在设置哪个字段,请尝试使用由Calendar
本身定义的不同常量值(按惯例,这些常量值以大写字母命名,仅供您查找)。
最后,你只需要获得Date
,通过getTime()
方法。
编辑
继Calendar
类的方法,并通过使用组,您可以拿出您正在搜索的月份。
使用方法,如用getActualMaximum(int field)
Calendar.DAY_OF_MONTH
。这实际上是答案之一。另一个是相似的,我把它留给你。
提示:创建日历,并与领域发挥,尝试在每个月的日设置为1(第一天),当月到你需要从中获取信息的一个。
我编辑了这个问题来添加更多的细节,抱歉不清楚:) – user1712638
@ user1712638我现在明白了!我编辑了答案。 – Gamb
看一看DateFormatSymbols。这有方法来检索月份。然后,您可以使用索引现在的位置是在阵列(月数),以获得每月
String[] months = new DateFormatSymbols(Locale.getDefault()).getMonths();
System.out.println(months[0]);
System.out.println(months[11]);
由于它的功课,我会让你明白为什么[0]
给Januaray和[11]
给人月
+1,用于心灵感应地推测他可能想要的是NAMES这个月...甚至没有出现过我。由于它是功课,一个更好的练习可能会是一个开关/情况,但是。 ;) – jrajav
import java.util.Calendar;
import java.text.SimpleDateFormat;
class PrintCalendar {
public static void main(String args[]) {
Calendar c = Calendar.getInstance();
int month = 3;
int year = 2011;
c.set(year, month, 1); // Set c's time to first day of specified month/year
// Day of week (by numerical index) can also be obtained programmatically with c.get(Calendar.DAY_OF_WEEK)
System.out.println("First day of month falls on a " + new SimpleDateFormat("EEEE").format(c.getTime()));
// "Actual maximum" means the maximum in the current timeframe; that is, it will return 29 for a February in a leap year
System.out.println("Month has " + c.getActualMaximum(Calendar.DAY_OF_MONTH) + " days");
}
}
我不明白这些命令做什么“新的SimpleDateFormat(”EE“)。格式(c.getTime())” – user1712638
对于那部分,你可能真的想要c.get(Calendar.DAY_OF_WEEK);我编辑添加此作为评论。无论如何,它所做的是从Calendar对象中抽出时间,并根据格式字符串将其格式化为字符串。在这种情况下,完整版本的格式字符串是“EE”或“EEEE”,其中E是与星期几对应的格式代码。谷歌“java SimpleDateFormat”为文档,将进一步详细解释它。查看日历文档和一些示例也会有所帮助。 – jrajav
- 1. 我必须从输入的月份/年份打印月份和年份到当前的月份和年份
- 2. NSFetchRequest为特定的月份和年份
- 3. 查找给定月份和特定年份的具体日期
- 4. 查找月份和年份内串
- 5. 为特定月份和年份
- 6. 获取特定年份和月份
- 7. 如何通过给出月份和年份作为输入来获取mysql中的月份的最后一天
- 8. 查找特定月份和年份的一周号码
- 9. 查找日期范围一周的特定月份和年份
- 10. 如何从过去的月份到当月的月份和年份列表
- 11. 在两个日期之间查找特定月份和年份
- 12. 如何在月份中查找年月份的差异php
- 13. 获取特定年份的月份值
- 14. 月份及年份过滤
- 15. 选择查询过滤来自特定年份和月份的数据
- 16. 如何将月份转换为java中的年份和月份
- 17. R Shiny DateRange仅输入月份年份
- 18. 有月份和年份PHP
- 19. 结合年份和月份
- 20. 减去年份和月份
- 21. 按年份和月份
- 22. 只月份和年份
- 23. LINQ - 按年份和月份
- 24. 选择年份和月份
- 25. SQL:按月份和年份
- 26. 显示月份和年份
- 27. 如何获得特定月份和年份的一个月的天数?
- 28. MDX查询的年份和月份
- 29. 如何从年份和月份中扣除月份
- 30. 输出年份和月份用绳子
哪一点会导致你的问题?目前尚不清楚您是否已经将用户输入解析为“int”值,或者您想将结果作为结果进行分析...... –
你应该发布你试过的东西。 –
要扩展@ JonSkeet的评论,你究竟是指“找到一个特定月份?”你已经有了月份和年份的数字 - 你需要哪些关于它的更多信息? – jrajav