All Downloads are FREE. Search and download functionalities are using the official Maven repository.

t.21.120.2.source-code.LocalDateTime Maven / Gradle / Ivy

There is a newer version: 21.141.0
Show newest version
/////////////////////////////////////////////////////////////////////////////////////////////
// Copyright 2023 Garmin International, Inc.
// Licensed under the Flexible and Interoperable Data Transfer (FIT) Protocol License; you
// may not use this file except in compliance with the Flexible and Interoperable Data
// Transfer (FIT) Protocol License.
/////////////////////////////////////////////////////////////////////////////////////////////
// ****WARNING****  This file is auto-generated!  Do NOT edit this file.
// Profile Version = 21.120Release
// Tag = production/release/21.120.00-0-g2d77811
/////////////////////////////////////////////////////////////////////////////////////////////


package com.garmin.fit;

import java.util.HashMap;
import java.util.Map;

public class LocalDateTime  {
    public static final long MIN = 0x10000000; // if date_time is < 0x10000000 then it is system time (seconds from device power on)
    public static final long INVALID = Fit.UINT32_INVALID;

    private static final Map stringMap;

    static {
        stringMap = new HashMap();
        stringMap.put(MIN, "MIN");
    }
    public static final long OFFSET = 631065600000l; // Offset between Garmin (FIT) time and Unix time in ms (Dec 31, 1989 - 00:00:00 January 1, 1970).

    private long timestamp;

    /**
     * Retrieves the String Representation of the Value
     * @param value The enum constant
     * @return The name of this enum contsant
     */
    public static String getStringFromValue( Long value ) {
        if( stringMap.containsKey( value ) ) {
            return stringMap.get( value );
        }

        return "";
    }

    /**
     * Returns the enum constant with the specified name.
     * @param value The enum string value
     * @return The enum constant or INVALID if unknown
     */
    public static Long getValueFromString( String value ) {
        for( Map.Entry entry : stringMap.entrySet() ) {
            if( entry.getValue().equals( value ) ) {
                return entry.getKey();
            }
        }

        return INVALID;
    }
    public LocalDateTime(long timestamp) {
        this.timestamp = timestamp;
    }

    public LocalDateTime(java.util.Date date) {
        this.timestamp = (date.getTime() - OFFSET) / 1000;
    }

    public boolean equals(DateTime dateTime) {
        return (this.getTimestamp().equals(dateTime.getTimestamp()));
    }

    public void convertSystemTimeToLocal(long offset) {
        if (timestamp < MIN) {
            timestamp += offset;
        }
    }

    public Long getTimestamp() {
        return new Long(timestamp);
    }

    public java.util.Date getDate() {
        return new java.util.Date(timestamp * 1000 + OFFSET);
    }

    public String toString() {
        return getDate().toString();
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy