工作笔记5

1、js 时间转化为几天前、几小时前、几分钟前

function getDateDiff(dateTimeStamp){
    var minute = 1000 * 60;
    var hour = minute * 60;
    var day = hour * 24;
    var halfamonth = day * 15;
    var month = day * 30;
    var now = new Date().getTime();
    var diffValue = now - dateTimeStamp;
    if(diffValue < 0){return;}
    var monthC =diffValue/month;
    var weekC =diffValue/(7*day);
    var dayC =diffValue/day;
    var hourC =diffValue/hour;
    var minC =diffValue/minute;
    if(monthC>=1){
        result="" + parseInt(monthC) + "月前";
    }
    else if(weekC>=1){
        result="" + parseInt(weekC) + "周前";
    }
    else if(dayC>=1){
        result=""+ parseInt(dayC) +"天前";
    }
    else if(hourC>=1){
        result=""+ parseInt(hourC) +"小时前";
    }
    else if(minC>=1){
        result=""+ parseInt(minC) +"分钟前";
    }else
    result="刚刚";
    return result;
}

C# 时间转化为几天前、几小时前、几分钟前

    private string GetDateDiff(int dateTimeStamp) {
        string result = string.Empty;
        var minute = 60;
        var hour = minute * 60;
        var day = hour * 24;
        var halfamonth = day * 15;
        var month = day * 30;
        var now = GetTimeStamp();
        var diffValue = now - dateTimeStamp;
        if (diffValue < 0) { return ""; }
        var monthC = diffValue / month;
        var weekC = diffValue / (7 * day);
        var dayC = diffValue / day;
        var hourC = diffValue / hour;
        var minC = diffValue / minute;
        if (monthC >= 1) {
            result = "" + Convert.ToInt32(monthC) + "月前";
        } else if (weekC >= 1) {
            result = "" + Convert.ToInt32(weekC) + "周前";
        } else if (dayC >= 1) {
            result = "" + Convert.ToInt32(dayC) + "天前";
        } else if (hourC >= 1) {
            result = "" + Convert.ToInt32(hourC) + "小时前";
        } else if (minC >= 1) {
            result = "" + Convert.ToInt32(minC) + "分钟前";
        } else {
            result = "刚刚";
        }
        return result;
    }

    public Int64 GetTimeStamp() {
        TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0);     //去掉毫秒数
        var time = ts.TotalMilliseconds.ToString().Substring(0, 10);
        return Convert.ToInt64(time);
    }
时间: 2024-10-15 03:12:37

工作笔记5的相关文章

工作笔记3.手把手教你搭建SSH(struts2+hibernate+spring)环境

上文中我们介绍<工作笔记2.软件开发常用工具> 从今天开始本文将教大家如何进行开发?本文以搭建SSH(struts2+hibernate+spring)框架为例,共分为3步: 1)3个独立配置:struts2. Hibernate. Spring 2)2个整合:整合Sring和struts2. 整合Spring和Hibernate 3)资源分类 开发包.软件.框架源码,已经共享到百度网盘:http://pan.baidu.com/s/1o6FkbA6 一.3个独立配置 1.Struts2: 1

七月工作笔记 7.7 - 7.11

1. vs第二次单步调试崩溃..一开始不知道为什么,重装无数次..后来发现是VAssistX 插件的问题...将下载下来的插件包中的VA_X.dll  拷贝到VAssistX 的安装路径下即可. 2. 发现了一个很棒的vs配色方案的网站   http://studiostyl.es/ 3. sendmessage和postmessage的区别PostMessage只负责将消息放到消息队列中,不确定何时及是否处理SendMessage要等到受到消息处理的返回码(DWord类型)后才继续PostMe

工作笔记5.JAVA图片验证码

本文主要内容为:利用JAVA图片制作验证码. 设计思路: 1.拷贝AuthImageServlet.class图片验证码 2.配置web.xml 3.JSP中,调用封装好的AuthImageServlet,实现载入验证码的功能. 4.取出存放在Session中的验证码.在Action中推断验证码的正确性 相比較上一篇博客<工作笔记5.JAVA文本框验证码>而言,图片验证码添加了安全性. 在Action中,通过取出Session中的验证码与输入的验证码是否匹配进行推断. 步骤: 1.拷贝Auth

工作笔记(一)

1.The GetCurrentDirectory function retrieves the current directory for the current process DWORD GetCurrentDirectory(  DWORD nBufferLength,  // size of directory buffer  LPTSTR lpBuffer       // directory buffer); 用法: TCHAR tszModule[MAX_PATH ] = { 0

iOS核心动画工作笔记

1.图层和UIVIew的区别:图层不能和用户进行交互,图层性能高 2.imageVIew的图片显示是在图层上面的子层.用maskBounds剪切时剪的是图层,用户看不到是因为子层挡住了 3.CAlayer的代理方法没有协议,任何对象都能成为他的代理,即NSObject的方法 4.UIVIew内部的根图层的代理就是View本身,所以在UIVIew中的drawRect方法绘图.一个view不能设置代理.因为已经是它图层的代理 5.Core Animation直接作用于CALayer,缺点是动画后图片

【工作笔记】npapi插件编写

虽然chrome已经不再支持npapi插件,不过公司的浏览器外壳是基于低版本的chromium开发,所以由于工作需要,还是学习了一下npapi插件的开发. 此次开发主要参考了以下博客和文档: http://blog.csdn.net/z6482/article/details/7660748 http://mozilla.com.cn/post/21666/ [工作笔记]npapi插件编写,布布扣,bubuko.com

SEDA工作笔记(一)

摘要 在普遍认知中,软件开发实践是一项充满不确定性的工作,这是由于编码工作占据了其绝大部分的工作,而编码本身就是具有极大不确定性的.同样,计算机科学被视作一门门槛低,基于经验,而无理论意义的纯工程类学科.这种观念不仅为广泛非本专业内人士所共持,即便本门师生,从业人员也偶有赞同.本文试图通过一次对SEDA服务器架构的编程实践的学习与研究,找寻一种科学的解决问题思路.在本次实践中,笔者将强调数学在软件开发中的重要地位,同时指出在核心算法的制定工作阶段,数学是其最重要的工作,而非经验性的设计模式套用.

Android工作笔记之——7月第2周

一.Android TextView内容过长加省略号 android:ellipsize="end"   省略号在结尾 android:singleline="true" android:ellipsize="marquee"  跑马灯 :: 跑马灯这个属性似乎直接这样还不行,TextView只有在获取焦点后才会滚动显示隐藏文字,因此需要在包中新建一个类,继承TextView.重写isFocused方法,这个方法默认行为是,如果TextView获

【工作笔记】VLC播放器在chrome中的调用

VLC 是一款自由.开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD.音频 CD.VCD 及各类流媒体协议. ---------引用自官网http://www.videolan.org/ 在自己的html代码中调用vlc插件其实非常简单,以下代码来自官方demohttps://wiki.videolan.org/Documentation:WebPlugin/ 详细demo可以参考安装目录\sdk\activex\test.html <html> <title>

javascript - 工作笔记 (事件四)

在javascript - 工作笔记 (事件绑定二)篇中,我将事件的方法做了简单的包装, JavaScript Code 12345   yx.bind(item, "click", function (e) {         //console.log("Div Click 1 !");         alert("Div Click 1 !");         e.stopPropagation();     }); 但是这样用起来有些