java判断今天,昨天,前天,不能用秒间隔的简单实例

实例如下:

一 json optString 解析的TimesTamp string

二 long dateSec = (long) (Double.valueOf(timestamp) * 1000);

三 Date date=new Date(dateSec);

四 getTimestampString(date);

public static String getTimestampString(Date paramDate) {
    String str = null;
    long l = paramDate.getTime();
    Calendar localCalendar = GregorianCalendar.getInstance();
    localCalendar.setTime(paramDate);
    int year = localCalendar.get(Calendar.YEAR);
    if(! isSameYear(year)){ //去年,直接返回
      String paramDate2str = new SimpleDateFormat("yyyy MM dd", Locale.CHINA).format(paramDate);
      return paramDate2str;
    }

    if (isSameDay(l)) {
      int i = localCalendar.get(Calendar.HOUR_OF_DAY);
      if (i > 17) {
        str = "晚上 HH:mm";//HH表示24小时,hh表示12小时进制,
      } else if ((i >= 0) && (i <= 6)) {
        str = "凌晨 HH:mm";
      } else if ((i > 11) && (i <= 17)) {
        str = "下午 HH:mm";
      } else {
        str = "上午 HH:mm";
      }
    } else if (isYesterday(l)) {
      str = "昨天 HH:mm";
    } else if (isBeforeYesterday(l)) {
      str = "前天 HH:mm";
    } else {
      str = "M月d日 HH:mm";
    }
    String paramDate2str = new SimpleDateFormat(str, Locale.CHINA).format(paramDate);
    return paramDate2str;
  }

。。。

//  获取 今天开始结束 时间

 public static TimeInfo getTodayStartAndEndTime() {

    Calendar localCalendar1 = Calendar.getInstance();
    localCalendar1.set(Calendar.HOUR_OF_DAY, 0);
    localCalendar1.set(Calendar.MINUTE, 0);
    localCalendar1.set(Calendar.SECOND, 0);
    localCalendar1.set(Calendar.MILLISECOND, 0);
    Date localDate1 = localCalendar1.getTime();

    long l1 = localDate1.getTime();

    Calendar localCalendar2 = Calendar.getInstance();
    localCalendar2.set(Calendar.HOUR_OF_DAY, 23);
    localCalendar2.set(Calendar.MINUTE, 59);
    localCalendar2.set(Calendar.SECOND, 59);
    localCalendar2.set(Calendar.MILLISECOND, 999);
    Date localDate2 = localCalendar2.getTime();

    long l2 = localDate2.getTime();

    TimeInfo localTimeInfo = new TimeInfo();
    localTimeInfo.setStartTime(l1);
    localTimeInfo.setEndTime(l2);
    return localTimeInfo;

  }

//  获取 昨天开始结束 时间

  public static TimeInfo getYesterdayStartAndEndTime() {
    Calendar localCalendar1 = Calendar.getInstance();
    localCalendar1.add(Calendar.DAY_OF_MONTH, -1);//5
    localCalendar1.set(Calendar.HOUR_OF_DAY, 0);//11
    localCalendar1.set(Calendar.MINUTE, 0);//12
    localCalendar1.set(Calendar.SECOND, 0);//13
    localCalendar1.set(Calendar.MILLISECOND, 0);//Calendar.MILLISECOND
    Date localDate1 = localCalendar1.getTime();
    long l1 = localDate1.getTime();

    Calendar localCalendar2 = Calendar.getInstance();
    localCalendar2.add(Calendar.DAY_OF_MONTH, -1);//5
    localCalendar2.set(Calendar.HOUR_OF_DAY, 23);//11
    localCalendar2.set(Calendar.MINUTE, 59);//12
    localCalendar2.set(Calendar.SECOND, 59);//13
    localCalendar2.set(Calendar.MILLISECOND, 999);//Calendar.MILLISECOND
    Date localDate2 = localCalendar2.getTime();
    long l2 = localDate2.getTime();

    TimeInfo localTimeInfo = new TimeInfo();
    localTimeInfo.setStartTime(l1);
    localTimeInfo.setEndTime(l2);
    return localTimeInfo;
  }

//  获取 前天开始结束 时间

  public static TimeInfo getBeforeYesterdayStartAndEndTime() {
    Calendar localCalendar1 = Calendar.getInstance();
    localCalendar1.add(Calendar.DAY_OF_MONTH, -2);
    localCalendar1.set(Calendar.HOUR_OF_DAY, 0);
    localCalendar1.set(Calendar.MINUTE, 0);
    localCalendar1.set(Calendar.SECOND, 0);
    localCalendar1.set(Calendar.MILLISECOND, 0);
    Date localDate1 = localCalendar1.getTime();
    long l1 = localDate1.getTime();

    Calendar localCalendar2 = Calendar.getInstance();
    localCalendar2.add(Calendar.DAY_OF_MONTH, -2);
    localCalendar2.set(Calendar.HOUR_OF_DAY, 23);
    localCalendar2.set(Calendar.MINUTE, 59);
    localCalendar2.set(Calendar.SECOND, 59);
    localCalendar2.set(Calendar.MILLISECOND, 999);
    Date localDate2 = localCalendar2.getTime();
    long l2 = localDate2.getTime();
    TimeInfo localTimeInfo = new TimeInfo();
    localTimeInfo.setStartTime(l1);
    localTimeInfo.setEndTime(l2);
    return localTimeInfo;
  }

  private static boolean isSameDay(long paramLong) {
    TimeInfo localTimeInfo = getTodayStartAndEndTime();
    return (paramLong > localTimeInfo.getStartTime()) && (paramLong < localTimeInfo.getEndTime());
  }

  private static boolean isYesterday(long paramLong) {
    TimeInfo localTimeInfo = getYesterdayStartAndEndTime();
    return (paramLong > localTimeInfo.getStartTime()) && (paramLong < localTimeInfo.getEndTime());
  }

  private static boolean isBeforeYesterday(long paramLong) {
    TimeInfo localTimeInfo = getBeforeYesterdayStartAndEndTime();
    return (paramLong > localTimeInfo.getStartTime()) && (paramLong < localTimeInfo.getEndTime());
  }

  public static boolean isSameYear(int year) {
    Calendar cal = Calendar.getInstance();
    int CurYear = cal.get(Calendar.YEAR);
//    Log.e("","CurYear="+CurYear);//2015
    return CurYear==year;
  }

。。。。。。

public class TimeInfo {
  private long startTime;
  private long endTime;

  public long getStartTime() {
    return this.startTime;
  }

  public void setStartTime(long paramLong) {
    this.startTime = paramLong;
  }

  public long getEndTime() {
    return this.endTime;
  }

  public void setEndTime(long paramLong) {
    this.endTime = paramLong;
  }
}

以上这篇java判断今天,昨天,前天,不能用秒间隔的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Java程序执行时间的2种简单方法

    第一种是以毫秒为单位计算的.  Java代码  //伪代码   复制代码 代码如下: long startTime=System.currentTimeMillis();   //获取开始时间 doSomeThing();  //测试的代码段 long endTime=System.currentTimeMillis(); //获取结束时间 System.out.println("程序运行时间: "+(end-start)+"ms"); 第二种是以纳秒为单位计算的.

  • java获取日期之间天数的方法

    本文实例讲述了java获取日期之间天数的方法.分享给大家供大家参考.具体实现方法如下: private int daysBetween(Date now, Date returnDate) { Calendar cNow = Calendar.getInstance(); Calendar cReturnDate = Calendar.getInstance(); cNow.setTime(now); cReturnDate.setTime(returnDate); setTimeToMidni

  • java计算两个时间相差天数的方法汇总

    问题描述: 输入:两个日期 输出:两个日期相差的天数 具体代码实现 方法1: 通过Calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的 年份是分闰年和平年的,各自的天数不同 /** * date2比date1多的天数 * @param date1 * @param date2 * @return */ public static int differentDays(Date date1,Date date2) { Calendar cal

  • java获取当前时间和前一天日期(实现代码)

    废话不多说,上代码 复制代码 代码如下: String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; Date dNow = new Date();   //当前时间Date dBefore = new Date(); Calendar calendar = Calendar.getInstanc

  • JAVA计算两个日期相差的实例

    在Java开发物流或是其他功能的时候会用到两个日期 相差多天的数据,所以整理了一下备用.调用方式: 复制代码 代码如下: long date1 = getDateTime("20121201");//可改成自己的日期类型,但以 "20121212"这种格式 long date2 = getDateTime("20121212");   int day = dateInterval(date1, date2);   System.out.print

  • java判断今天,昨天,前天,不能用秒间隔的简单实例

    实例如下: 一 json optString 解析的TimesTamp string 二 long dateSec = (long) (Double.valueOf(timestamp) * 1000); 三 Date date=new Date(dateSec); 四 getTimestampString(date); public static String getTimestampString(Date paramDate) { String str = null; long l = pa

  • jquery判断对象是否为空并遍历对象的简单实例

    javascript : if(document.getElementById("target_obj_id")){ } else { } jquery: 因为 $("#target_obj_id") 不管对象是否存在都会返回 object ,所以以上方法不行 1. var target_obj = jQuery('#target_obj_id'); if (target_obj.length > 0) { //如果大于0 标识 id 为target_obj_

  • js判断登陆用户名及密码是否为空的简单实例

    js判断登陆用户名及密码是否为空的简单实例 <script type="text/javascript"> // 验证输入不为空的脚本代码 function checkForm(form) { if(form.username.value == "") { alert("用户名不能为空!"); form.username.focus(); return false; } if(form.password.value == "

  • java发送HttpClient请求及接收请求结果过程的简单实例

    一. 1.写一个HttpRequestUtils工具类,包括post请求和get请求 package com.brainlong.framework.util.httpclient; import net.sf.json.JSONObject; import org.apache.commons.httpclient.HttpStatus; import org.apache.http.HttpResponse; import org.apache.http.client.methods.Htt

  • js判断一个字符串是以某个字符串开头的简单实例

    1.  用js判断一个字符串是否是以某个子字符串开头如:ssss001是否以ssss开头, 可以这样做: var fdStart = strCode.indexOf("ssss"); if(fdStart == 0){ 表示strCode是以ssss开头: }else if(fdStart == -1){ 表示strCode不是以ssss开头 } 2.  假如是大于0 包含该字符串 以上就是小编为大家带来的js判断一个字符串是以某个字符串开头的简单实例全部内容了,希望大家多多支持我们~

  • Vue验证码60秒倒计时功能简单实例代码

    template <template> <div class='login'> <div class="loginHeader"> <input type="tel" class="loginBtn border-bottom" placeholder="请输入手机号" /> <input type="tel" class="codeBtn&q

  • Java 转型(向上或向下转型)详解及简单实例

    在Java编程中经常碰到类型转换,对象类型转换主要包括向上转型和向下转型. 向上转型 我们在现实中常常这样说:这个人会唱歌.在这里,我们并不关心这个人是黑人还是白人,是成人还是小孩,也就是说我们更倾向于使用抽象概念"人".再例如,麻雀是鸟类的一种(鸟类的子类),而鸟类则是动物中的一种(动物的子类).我们现实中也经常这样说:麻雀是鸟.这两种说法实际上就是所谓的向上转型,通俗地说就是子类转型成父类.这也符合Java提倡的面向抽象编程思想.来看下面的代码: package a.b; publ

  • js中判断用户输入的值是否为空的简单实例

    在js中判断用户输入的值是否为空,这是大家用得非常多的. 这没有什么好写的. 而我却写了. 原因只是自以为是的认为我的这些代码写得不错, 供大家参考一下. 这是摘自的我一个项目的中的用户注册页面.对于大多数人来说,这都几乎是100%经历过的.贴代码吧,这些代码都是用js写的. 不难,很容易看懂. 看的时候,只要区别两个js类就行了.前台页面代码:reguser.aspx 复制代码 代码如下: <%@ Page language="c#" Codebehind="RegU

  • js判断页面中是否有指定控件的简单实例

    if (document.getElementById('show_pic')!=null){document.getElementById('show_pic').src=this.value;} show_pic是页面中的一个图片控件,我们首先要保证这个控件存在于页面上,才能对其进行操作,不然JS就会出现错误,所以用这种方式进行了判断,我听网友说,JS中还有一个函数,可以判断对象是否存在,可惜我没有找到.

  • vue中根据时间戳判断对应的时间(今天 昨天 前天)

    根据时间戳 来显示对应的时间段 本文是根据vue缩写,但是原理都是想通的 根据一个时间戳,然后来显示对应的时间段.如果为今天,则显示对应的time,如果为昨天,则显示为昨天,如果为前天,则显示为前天.剩下的显示为对应的日期 需求定义好了,然后开始实现: 首先,是把时间戳转换为对应的时间格式,js提供了原生的获取对应年.月.日等格式的方法,但是不够灵活,这里提供了一个网上找的比较灵活获取固定格式的函数. const formatDate = (date, fmt) => { date = new

随机推荐