001/* 002 * jPOS Project [http://jpos.org] 003 * Copyright (C) 2000-2026 jPOS Software SRL 004 * 005 * This program is free software: you can redistribute it and/or modify 006 * it under the terms of the GNU Affero General Public License as 007 * published by the Free Software Foundation, either version 3 of the 008 * License, or (at your option) any later version. 009 * 010 * This program is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 013 * GNU Affero General Public License for more details. 014 * 015 * You should have received a copy of the GNU Affero General Public License 016 * along with this program. If not, see <http://www.gnu.org/licenses/>. 017 */ 018 019package org.jpos.q2.cli; 020 021import org.jpos.q2.CLICommand; 022import org.jpos.q2.CLIContext; 023 024import java.time.Instant; 025import java.time.ZoneId; 026import java.time.format.TextStyle; 027import java.time.zone.ZoneOffsetTransition; 028import java.time.zone.ZoneOffsetTransitionRule; 029import java.util.List; 030import java.util.Locale; 031 032@SuppressWarnings("unused") 033public class TZCHECK implements CLICommand 034{ 035 public void exec(CLIContext cli, String[] args) throws Exception 036 { 037 ZoneId zi = ZoneId.systemDefault(); 038 Instant i = Instant.now(); 039 cli.println( 040 " Zone ID: " + zi + " (" + zi.getDisplayName(TextStyle.FULL, Locale.getDefault()) + ") " 041 + zi.getRules().getOffset(i) 042 ); 043 cli.println (" UTC: " + i); 044 ZoneOffsetTransition tran = zi.getRules().nextTransition(i); 045 if (tran != null) { 046 Instant in = tran.getInstant(); 047 cli.println (" Next transition: " + in + " (" + in.atZone(zi) + ")"); 048 } 049 List<ZoneOffsetTransitionRule> l = zi.getRules().getTransitionRules(); 050 for (ZoneOffsetTransitionRule r : l) { 051 cli.println (" Transition rule: " + r); 052 } 053 } 054}