post

在Asp.net和JS中,将秒数转换为时分秒

最近在做京东商城的二手商城项目中,由于拍卖的商品会存在倒计时的问题。就简单些了个秒数或分钟数转换为时分秒格式的方法。现在分享出来,如果有更好的方法还请指教了。

C#代码如下:

   /// 
    /// 将分钟转换为时分的格式
    /// 
    /// 分钟
    /// 
    public static string GetFormatTime(int minutes)
    {
        int day = (int)Math.Floor(Convert.ToDouble(minutes / 1440));
        int hour = day > 0
                       ? (int)Math.Floor(Convert.ToDouble((minutes - day * 1440) / 60))
                       : (int)Math.Floor(Convert.ToDouble(minutes / 60));
        int minute = hour > 0 
                          ? minutes - day * 1440 - hour * 60
                          : minutes;
        string time = "";
        if (day > 0) time += day + "天";
        if (hour > 0) time += hour + "小时";
        if (minute > 0) time += minute + "分钟";
        return time;
    }


    /// 
    /// 将秒数转换为时分秒的格式
    /// 
    /// 秒数
    /// 
    public static string GetFormatTime(string data)
    {
        int seconds;
        if (Int32.TryParse(data, out seconds))
        {
            //0的话,页面刷新,-100表示拍卖结束
            if(seconds <=0) return data;
            int minutes = (int)Math.Floor(Convert.ToDouble(seconds / 60));
            seconds = seconds - minutes * 60;
            return GetFormatTime(minutes) + (seconds > 0 ? seconds + "秒" : "");
        }
        return data;
    }
   

JS代码如下:

//格式化分钟为时分
    function formatMinutes(minutes){
        var day = parseInt(Math.floor(minutes / 1440));
        var hour = day >0 
                       ?Math.floor((minutes - day*1440)/60) 
                       :Math.floor(minutes/60);  
        var minute = hour > 0
                          ? Math.floor(minutes -day*1440 - hour*60)
                          :minutes;
        var time="";       
        if (day > 0) time += day + "天";
        if (hour > 0) time += hour + "小时";
        if (minute > 0) time += minute + "分钟";
        return time;
    }
    

    //格式化秒数为时分秒
    function formatSeconds(seconds) {
        if(seconds >0){
            var minutes = Math.floor(seconds/60);
            seconds = seconds - minutes * 60;
            return formatMinutes(minutes) + (seconds > 0 ? seconds + "秒" : "");
        } 
        return seconds;
    }

Speak Your Mind

*

· 1,658 次浏览