gpt4 book ai didi

Java TimeUnit - 设置一周的时间单位

转载 作者:太空宇宙 更新时间:2023-11-04 07:24:36 24 4
gpt4 key购买 nike

我正在尝试研究一些方法和对能够每周使用一次的操作/“命令”的响应(防止垃圾邮件)。我唯一的问题是如何将我的java时间设置为一周。这就是我所拥有的:

public static long displayTime;

方法:

    public static boolean setDisplayName(Player player, String displayName) {
synchronized (cachedNames) {
if((SerializableFilesManager.containsPlayer(Utils.formatPlayerNameForProtocol(displayName)) || cachedNames.contains(displayName) || !cachedNames.add(displayName)))
return false;
if(player.hasDisplayName())
cachedNames.remove(player.getDisplayName());
}
displayTime = System.currentTimeMillis() + (1000*60*60);
String displayname = player.getDisplayName();
player.setDisplayName(displayName);
FriendChatsManager.refreshChat(player);
Highscores.highscores(player, displayname);
player.getAppearence().generateAppearenceData();
return true;
}

public static String convertToTime() {
String time = "You have to wait "+(getTime() == 0 ? "few more seconds" : getTime()+" minutes")+" to change your display name again!";
return time;
}

public static int getTime() {
return (int) (displayTime-System.currentTimeMillis()/60000);
}

我试图更改为“周”时间的是displayTime = System.currentTimeMillis() + (1000*60*60);。我相信 (1000*60*60) 是 24 小时,对吗?这是我唯一的问题。解决此问题后,用户每周只能使用该命令一次。命令就在这里:

case "setdisplay":
if (DisplayNames.displayTime > System.currentTimeMillis()) {
player.getPackets().sendGameMessage(DisplayNames.convertToTime());
return true;
}
if (!player.isDonator() && !player.isExtremeDonator()) {
player.getPackets().sendGameMessage(
"You do not have the privileges to use this.");
return true;
}

DisplayNames 是包含方法和所有内容的类。感谢您的所有帮助,我确信这只是一个愚蠢的问题:P。

~德里克

最佳答案

您可以使用Calendar类,它有修改日期的方法,例如添加日期。并且可以将其转换为日期。它解决了我关于时间的大部分问题。希望它也适合您。

关于Java TimeUnit - 设置一周的时间单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18745250/

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