Java Long Number to Date formatDate(final long timestamp)

Here you can find the source of formatDate(final long timestamp)

Description

Formats a timestamp as a human readable date.

License

Open Source License

Parameter

Parameter Description
timestamp the timestamp to format

Return

the date in human readable form

Declaration

public static String formatDate(final long timestamp) 

Method Source Code

//package com.java2s;
/*******************************************************************************
 * Copyright (C) 2015 Connor Lanigan (email: dev@connorlanigan.com)
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 *******************************************************************************/

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Main {
    /**/* w  w  w.jav a2 s  . co m*/
     * Formats a timestamp as a human readable date. The returned value is
     * <strong>not</strong> usable for calculation or storage.
     *
     * @param timestamp
     *            the timestamp to format
     * @return the date in human readable form
     */
    public static String formatDate(final long timestamp) {
        final Calendar now = Calendar.getInstance();
        final Date date = new Date(timestamp);
        final Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        final SimpleDateFormat dateFormat = getFormatForTimestamp(now, cal);

        return dateFormat.format(date);
    }

    private static SimpleDateFormat getFormatForTimestamp(
            final Calendar now, final Calendar timestamp) {
        if (now.get(Calendar.YEAR) != timestamp.get(Calendar.YEAR)) {
            return new SimpleDateFormat("yyyy-MM-dd\nHH:mm");
        }
        if (now.get(Calendar.DAY_OF_YEAR) != timestamp
                .get(Calendar.DAY_OF_YEAR)) {
            return new SimpleDateFormat("MM-yy\nHH:mm");
        }
        return new SimpleDateFormat("HH:mm");
    }
}

Related

  1. format(Long dateTmie, String formate)
  2. format(long time, SimpleDateFormat format)
  3. formatDate(final long date)
  4. formatDate(final long ticks, final SimpleDateFormat format)
  5. formatDate(final long time)
  6. formatDate(long absTime)
  7. formatDate(long d)
  8. formatDate(long d)
  9. formatDate(long date)