Skip to content

Commit

Permalink
Add time zone suppprt
Browse files Browse the repository at this point in the history
  • Loading branch information
Gk0Wk committed Mar 26, 2021
1 parent f05417f commit c93d907
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 3 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -6,7 +6,7 @@

<groupId>io.github.gk0wk</groupId>
<artifactId>MCron</artifactId>
<version>1.0.0</version>
<version>1.0.1</version>
<packaging>jar</packaging>

<name>MCron</name>
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/io/github/gk0wk/mcron/CronExpression.java
Expand Up @@ -41,7 +41,7 @@ public class CronExpression {
put("sun", 7); put("sunday", 7); put("0", 7); put("7", 7);
}};

private static ZoneOffset localTimezoneOffset = ZoneOffset.of("+8");
private static ZoneOffset localTimezoneOffset = ZoneOffset.of("Z");

private final int[] secondList;
private final int[] minuteList;
Expand Down Expand Up @@ -627,7 +627,7 @@ private <T> void atomicListAdd(List<T> list, T object) {
* 重新设置时区
* @param offsetId 时区ID
*/
public void setTimeZoneOffset(String offsetId) {
public static void setTimeZoneOffset(String offsetId) {
localTimezoneOffset = ZoneOffset.of(offsetId);
}

Expand Down
5 changes: 5 additions & 0 deletions src/main/java/io/github/gk0wk/mcron/CronManager.java
Expand Up @@ -35,11 +35,16 @@ public CronManager() {

protected void reload() {
try {
// 清空
this.tasks.clear();
this.cacheInTimeTasks.clear();
this.inTimeTasks.clear();
this.outdatedTasks.clear();

// 设置时区
CronExpression.setTimeZoneOffset(MCron.getInstance().configManager.get("config.yml").getNode("timezone-offset").getString("Z"));

// 重载
MCron.getInstance().configManager.get("config.yml").getNode("schedule-tasks").getChildrenMap().forEach((key, value) -> {
if (key instanceof String) {
List<String> commands = ConfigUtil.setListIfNull(value).getList(Object::toString);
Expand Down
13 changes: 13 additions & 0 deletions src/main/resources/config.yml
@@ -1,4 +1,17 @@
version: ${project.version}
# GMT time zone offset, supported format:
# Z - for UTC
# +h
# +hh
# +hh:mm
# -hh:mm
# +hhmm
# -hhmm
# +hh:mm:ss
# -hh:mm:ss
# +hhmmss
# -hhmmss
timezone-offset: '+8'
on-server-ready: []
# Example:
# - 'broadcast §aServer is ready, enjoy your day!'
Expand Down

0 comments on commit c93d907

Please sign in to comment.