gpt4 book ai didi

java - 如何始终显示一周的最后一天

转载 作者:行者123 更新时间:2023-12-01 16:32:52 26 4
gpt4 key购买 nike

我有一个显示用户 Activity 的 JSF 表。

<p:lineChart id="logins" value="#{StatisticsController.weekActivity}" legendPosition="e"  
title="Weekly Logins" seriesColors="4D94FF, 1975FF, 005CE6, 0047B2" minY="0" maxY="200"/>


public class Statistics implements Serializable {

private CartesianChartModel weeksActivity;

public Statistics() {
createweeksActivity();

}

public CartesianChartModel getweekActivity() {
return weeksActivity;
}

private void createweeksActivity() {
weeksActivity = new CartesianChartModel();

ChartSeries boys = new ChartSeries();
boys.setLabel("Active Accounts");

boys.set("Monday", 120);
boys.set("Tuesday", 100);
boys.set("Wednesday", 44);
boys.set("Thursday", 150);
boys.set("Friday", 120);
boys.set("Saturday", 82);
boys.set("Sunday", 115);

ChartSeries girls = new ChartSeries();
girls.setLabel("Blocked Accounts");

girls.set("Monday", 52);
girls.set("Tuesday", 60);
girls.set("Wednesday", 110);
girls.set("Thursday", 135);
girls.set("Friday", 120);
girls.set("Saturday", 140);
girls.set("Saturday", 130);
girls.set("Sunday", 140);

weeksActivity.addSeries(boys);
weeksActivity.addSeries(girls);
}


}

我想始终按顺序显示当天。例如:现在我收到这个订单:星期一、星期二、星期三、星期四、星期五、星期六、星期日例如,如果今天是星期三,我想在打开网页时收到此订单:

Thursday, Friday, Saturday, Sunday, Monday, Tuesday, Wednesday

我该如何解决这个问题?

EDIT:

我这样更新了代码:

private void createweeksActivity()
{

weeksActivity = new CartesianChartModel();

ChartSeries activeAccounts = new ChartSeries();
activeAccounts.setLabel("Active Accounts");

ChartSeries blockedAccounts = new ChartSeries();
blockedAccounts.setLabel("Blocked Accounts");

GregorianCalendar calendar = new GregorianCalendar();
DateFormat df = new SimpleDateFormat("EEEE");
for (int i = 0; i < 7; i++)
{
calendar.add(Calendar.DATE, 1);
System.out.println(df.format(calendar.getTime()));
activeAccounts.set(df.format(calendar.getTime()), getNumberOfLogins(df.format(calendar.getTime())));
blockedAccounts.set(df.format(calendar.getTime()), getNumberOfLogins(df.format(calendar.getTime())));
}

weeksActivity.addSeries(activeAccounts);
weeksActivity.addSeries(blockedAccounts);
}

public int getNumberOfLogins(String day){

// Get here the number of logins using SQL command
// Example: SELECT * FROM HISTORY WHERE DAY = day;

return 100;
}

我想它会起作用。

最佳答案

GregorianCalendar calendar = new GregorianCalendar();
DateFormat df = new SimpleDateFormat("EEEE");
for (int i = 0; i < 7; i++) {
calendar.add(Calendar.DATE, 1);
System.out.println(df.format(calendar.getTime()));
}

GregorianCalendar 代表公历下的一个时刻。它的无参数构造函数将其初始化为当前时间。

DateFormat 用于格式化日期。您可以使用 getTime() 方法将 (Gregorian)Calendar 转换为 Date。 “EEEE”的最长形式是指一周中的某一天。

(Gregorian)Calendar.add() 方法允许向日历的任何字段(年、月、日期、小时等)添加值。由于您想要迭代一周中的几天,因此我从明天开始,并在每次迭代时添加 1 天。

一切都可以在 the javadoc 中找到.

关于java - 如何始终显示一周的最后一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12655094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com