From 867ccc06c6ac05b28f528979cb858435b8ead4f3 Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Mon, 1 Feb 2016 14:33:10 -0800 Subject: [PATCH] core_date: dumb little script so I can stop doing math Compute coreos version for a date or the date of a coreos version. Arguments are passed to `date` except for `-v` which takes an optional version value and converts it to a date. `-v` must be the first arg. $ ./core_date 945 $ ./core_date -d wed 947 $ ./core_date -v Fri Jan 29 00:00:00 UTC 2016 $ ./core_date -v +%D 01/29/16 $ ./core_date -v 1000 Sun Mar 27 00:00:00 UTC 2016 $ ./core_date -v 1000 +%D 03/27/16 --- core_date | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 core_date diff --git a/core_date b/core_date new file mode 100755 index 0000000000..bbe463ff65 --- /dev/null +++ b/core_date @@ -0,0 +1,28 @@ +#!/bin/bash + +# Copyright (c) 2016 The CoreOS Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +SCRIPT_ROOT=$(dirname $(readlink -f "$0")) +. "${SCRIPT_ROOT}/common.sh" || exit 1 + +if [[ "$1" == "-v" ]]; then + shift + if [[ $# -ge 1 ]] && [[ "$1" != [-+]* ]]; then + v="$1" + shift + else + v="${COREOS_VERSION}" + fi + + # strip of a v prefix or .0.0 suffix + v="${v#v}" + v="${v%%.*}" + + export TZ=${TZ:=UTC} + date -d @$(( (v * 86400) + COREOS_EPOCH )) "$@" +else + t=$(date +%s "$@") + echo $(( (t - COREOS_EPOCH) / 86400 )) +fi