timeutilities.java

来自「Sony Ericsson手机上的Facebook客户端全套代码」· Java 代码 · 共 157 行

JAVA
157
字号
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   TimeUtilities.java

package com.sonyericsson.fb.utils;

import com.sonyericsson.fb.strings.Strings;
import java.util.Calendar;
import java.util.Date;

public class TimeUtilities
{

    public TimeUtilities()
    {
    }

    public static String replaceWithNumber(String str, int number)
    {
        char charArray[] = str.toCharArray();
        for(int i = 0; i < charArray.length - 1; i++)
            if(charArray[i] == '%' && charArray[i + 1] == 'd')
                return str.substring(0, i) + number + str.substring(i + 2);

        return str;
    }

    public static String getTimeStampString(long itemTimeStamp, long serverTimeStamp)
    {
        long SECONDS_PER_HOUR = 3600L;
        long SECONDS_PER_MINUTE = 60L;
        long SECONDS_PER_DAY = 0x15180L;
        if(itemTimeStamp == 0L)
            return "";
        String ret = "";
        long itemAge = serverTimeStamp - itemTimeStamp;
        if(itemAge < 7200L)
        {
            if(itemAge < 60L)
            {
                int seconds = (int)itemAge;
                if(seconds == 1)
                    ret = ret.concat(replaceWithNumber(Strings.get(24), seconds));
                else
                    ret = ret.concat(replaceWithNumber(Strings.get(25), seconds));
            } else
            {
                int minutes = (int)(itemAge / 60L);
                if(minutes == 1)
                    ret = ret.concat(replaceWithNumber(Strings.get(26), minutes));
                else
                if(minutes <= 50)
                    ret = ret.concat(replaceWithNumber(Strings.get(27), minutes));
                else
                    ret = ret.concat(Strings.get(30));
            }
        } else
        {
            int hours = (int)(itemAge / 3600L);
            if(hours < 24)
            {
                ret = ret.concat(replaceWithNumber(Strings.get(23), hours));
            } else
            {
                int days = (int)(itemAge / 0x15180L);
                if(days == 1)
                    ret = ret.concat(Strings.get(13));
                else
                if(days < 7)
                {
                    Calendar tempCal = Calendar.getInstance();
                    tempCal.setTime(new Date(itemTimeStamp * 1000L));
                    tempCal.get(7);
                    ret = ret.concat(getWeekDay(tempCal.get(7)));
                } else
                {
                    Calendar tempCal = Calendar.getInstance();
                    tempCal.setTime(new Date(itemTimeStamp * 1000L));
                    ret = ret.concat(formatDate(tempCal.get(1), tempCal.get(2), tempCal.get(5)));
                }
            }
        }
        return ret;
    }

    public static String getWeekDay(int day)
    {
        String on = Strings.get(29);
        switch(day)
        {
        case 2: // '\002'
            return on + " " + Strings.get(14);

        case 3: // '\003'
            return on + " " + Strings.get(15);

        case 4: // '\004'
            return on + " " + Strings.get(16);

        case 5: // '\005'
            return on + " " + Strings.get(17);

        case 6: // '\006'
            return on + " " + Strings.get(18);

        case 7: // '\007'
            return on + " " + Strings.get(19);

        case 1: // '\001'
            return on + " " + Strings.get(20);
        }
        return "";
    }

    public static String formatDate(int year, int month, int day)
    {
        String language = System.getProperty("microedition.locale");
        if(language != null)
            language = language.substring(0, 2);
        year %= 100;
        if(language.compareTo("de") == 0)
        {
            String ret = "";
            ret = ret.concat((day >= 10 ? "" : "0") + day);
            ret = ret.concat(".");
            ret = ret.concat((month >= 10 ? "" : "0") + month);
            ret = ret.concat(".");
            ret = ret.concat((year >= 10 ? "" : "0") + year);
            return ret;
        }
        if(language.compareTo("en") == 0)
        {
            String ret = "";
            ret = ret.concat((day >= 10 ? "" : "0") + day);
            ret = ret.concat("/");
            ret = ret.concat((month >= 10 ? "" : "0") + month);
            ret = ret.concat("/");
            ret = ret.concat((year >= 10 ? "" : "0") + year);
            return ret;
        }
        if(language.compareTo("se") == 0)
        {
            String ret = "";
            ret = ret.concat((year >= 10 ? "" : "0") + year);
            ret = ret.concat("-");
            ret = ret.concat((month >= 10 ? "" : "0") + month);
            ret = ret.concat("-");
            ret = ret.concat((day >= 10 ? "" : "0") + day);
            return ret;
        } else
        {
            return "";
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?