我需要一些帮助;我已经被这种情况困了一段时间了。我的目标是显示2021年8月的日历表单。我这里有密码。我只需要八月份,因为我只想发布一个月的日历,让用户看到开课的日期。它显示日历,但我觉得它有一个更有效的方式来编写这种类型的程序,但我不知道如何。你能帮帮我吗?
下面是我的代码:
public class Calendar {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
System.out.println("\t\tMONTH OF AUGUST 2021");
System.out.println("–––––––––––––––-------------------------––––––––––––––");
System.out.println("\nSun\tMon\tTue\tWed\tThu\tFri\tSat\n");
System.out.println("–––––––––––––––-------------------------––––––––––––––");
int [][]num={{1,2,3,4,5,6,7},{8,9,10,11,12,13,14},{15,16,17,18,19,20,21},{22,23,24,25,26,27,28},{29,30,31,1,2,3,4}};
for (int i=1; i<num.length;i++){
for(int j=8; j<num[i].length; j++){
num[i][j]=i+j;
}
}
for(int[] a: num){
for(int i:a){
System.out.print(i + "\t");
}
System.out.println("\n");
}
}
}
要在控制台窗口中显示日历(哪个月应该无关紧要),您可以使用以下java方法:
public static void displayConsoleCalendar(int day, int month, int year,
boolean... useColorCodes) {
boolean useColor = false;
if (useColorCodes.length > 0) {
useColor = useColorCodes[0];
}
String red = "\033[0;31m";
String blue = "\033[0;34m";
String reset = "\033[0m";
java.util.Calendar calendar = new java.util.GregorianCalendar(year, month - 1, day + 1);
calendar.set(java.util.Calendar.DAY_OF_MONTH, 1); //Set the day of month to 1
int dayOfWeek = calendar.get(java.util.Calendar.DAY_OF_WEEK); //get day of week for 1st of month
int daysInMonth = calendar.getActualMaximum(java.util.Calendar.DAY_OF_MONTH);
//print month name and year
System.out.println(new java.text.SimpleDateFormat("MMMM YYYY").format(calendar.getTime()));
System.out.println((useColor?blue:"") + " S M T W T F S" + (useColor?reset:""));
//print initial spaces
String initialSpace = "";
for (int i = 0; i < dayOfWeek - 1; i++) {
initialSpace += " ";
}
System.out.print(initialSpace);
//print the days of the month starting from 1
for (int i = 0, dayOfMonth = 1; dayOfMonth <= daysInMonth; i++) {
for (int j = ((i == 0) ? dayOfWeek - 1 : 0); j < 7 && (dayOfMonth <= daysInMonth); j++) {
if (dayOfMonth == day && useColor) {
System.out.printf(red + "%2d " + reset, dayOfMonth);
}
else {
System.out.printf("%2d ", dayOfMonth);
}
dayOfMonth++;
}
System.out.println();
}
}
如果您的终端支持转义颜色代码,那么您提供的日期将在日历中为红色。这种方法也照顾到闰年。只需提供day、month和year的整数值作为参数即可。应用颜色代码的最后一个参数是可选的。
如果您想要显示八月份,并且希望该月份的20日用红色突出显示,那么您可以执行以下调用:
displayConsoleCalendar(20, 8, 2021, true);
我正在使用日历视图来选择产品交付日期。我想在日历视图中仅显示当前日期的一个完整月份? 比如说: 今天的日期:2019年4月4日-日历视图应仅显示至2019年5月31日,不应显示上个月。 另一个例子:如果今天的日期是:2019年8月15日——日历视图应该只显示到2019年9月30日,而不应该显示上个月。 这可能吗?如果是这样的话,当我点击箭头时,如何显示默认日历视图是显示所有年份的正负?
问题内容: 我正在使用以下代码 输出是 添加到 一月 是给 月 月。如果我们在当前日期加上30天,则可能返回正确的输出。但我想显示 2 月。有人可以帮我吗.. 问题答案: 您可以看到+1设置字段添加的日期与您的日期不同(从输出中观察到)。 如果你想几个月,那么使用代码
问题内容: 我正在尝试往返日期,该日期将有以前的日期,并且将有本月的第一个日期。一月份将会如此,依此类推。如何正确获取当月的第一个日期?我做不到。 问题答案: 尝试 更新(自Java 8以来 ):
我正在使用amsul DateTimePicker:https://amsul.ca/pickadate.js/date/
问题内容: 在中,将1月定义为第0个月,而不是第1个月。是否有任何特定原因? 我已经看到很多人对此感到困惑… 问题答案: 它只是Java日期/时间API的一团糟。列出问题所在将花费很长时间(而且我确定我不知道其中一半是问题)。诚然,处理日期和时间是很棘手的,但是无论如何都是这样。 帮个忙,改用Joda Time或JSR-310。 编辑:至于原因-如其他答案所述,这很可能是由于旧的C API引起的,
我需要一个Android日历视图像附上的照片。我已经尝试使用这个库https://github.com/alamkanak/android-week-view作为日历视图。这是一个固定的静态事件在日历添加仅。无法在此库日历视图中添加动态事件。有没有人可以推荐任何一个自定义库在Android。 日历视图库代码示例Android-Week-View: 我在这个图书馆所尝试的: 注: 我需要在此日历视图