001// SPDX-FileCopyrightText: 2021 Paul Schaub <vanitasvitae@fsfe.org> 002// 003// SPDX-License-Identifier: Apache-2.0 004 005package sop.cli.picocli; 006 007import java.util.Date; 008 009import sop.util.UTCUtil; 010 011public class DateParser { 012 013 public static final Date BEGINNING_OF_TIME = new Date(0); 014 public static final Date END_OF_TIME = new Date(8640000000000000L); 015 016 public static Date parseNotAfter(String notAfter) { 017 Date date = notAfter.equals("now") ? new Date() : notAfter.equals("-") ? END_OF_TIME : UTCUtil.parseUTCDate(notAfter); 018 if (date == null) { 019 Print.errln("Invalid date string supplied as value of --not-after."); 020 System.exit(1); 021 } 022 return date; 023 } 024 025 public static Date parseNotBefore(String notBefore) { 026 Date date = notBefore.equals("now") ? new Date() : notBefore.equals("-") ? BEGINNING_OF_TIME : UTCUtil.parseUTCDate(notBefore); 027 if (date == null) { 028 Print.errln("Invalid date string supplied as value of --not-before."); 029 System.exit(1); 030 } 031 return date; 032 } 033}