0

0

Java中日期处理类的实现实例分享

黄舟

黄舟

发布时间:2017-09-19 10:02:43

|

1667人浏览过

|

来源于php中文网

原创

这篇文章主要介绍了java实现的日期处理类,结合完整实例形式分析了java针对日期的获取、运算、转换等相关操作技巧,需要的朋友可以参考下

本文实例讲述了Java实现的日期处理类。分享给大家供大家参考,具体如下:

开发中常常要使用日期,先小结如下,以备后用。

得推共享菜园系统
得推共享菜园系统

得推共享菜园系统是一款专门针对家共享菜园开发的,可以通过基地加盟,轻松实现共享菜园平台建设。系统可以支持wap\公众号\小程序\APP. 基本功能:基地管理、菜园分类、菜园订单、菜园维护、菜园动态等 管理后台: 1.网站设置:站点信息,支付配置,短信配置,邮箱配置等 2.账户管理:账户审核,实名认证,用户充值,黑名单等 3.订单管理:服务订单、确认、处理、退单

下载


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class FormatTime {
  private final static SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
  private final static SimpleDateFormat sdfymdhm = new SimpleDateFormat("yyyyMMddHHmmss");
  private final static SimpleDateFormat sdfymdhms =  new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  /**
   *
  * @Title: getCurrentDay
  * @Description: TODO 获取当天时间(20161109)
  * @return
   */
  public static String getCurrentDay(){
    return sdf.format(new Date());
  }
  /**
   *
  * @Title: fTime2
  * @Description: TODO 获取time这个日期以前dayAgo天的日期
  * @return
   */
  public static String fTime(String time,int dayAgo){
    Date date = null;
    try {
      date = sdf.parse(time);
    } catch (ParseException e) {
        throw new RuntimeException(e);
    }
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    if(dayAgo>0){
      calendar.add(Calendar.DAY_OF_MONTH, -dayAgo);//前15天数据
      date = calendar.getTime();
      calendar.setTime(date);
    }
    int year=calendar.get(Calendar.YEAR);
    int month=calendar.get(Calendar.MONTH) + 1;
    int day = calendar.get(Calendar.DAY_OF_MONTH);
    String mon="";
    String d="";
    if(month<10){
      mon="0"+month;
    }else{
      mon=month+"";
    }
    if(day<10){
      d="0"+day;
    }else{
      d=""+day;
    }
    String ret=year+""+mon+""+d;
    return ret;
  }
  /**
   *
  * @Title: fTime2
  * @Description: TODO 获取time这个日期以后dayAfter天的日期
  * @return
   */
  public static String fTime2(String time,int dayAfter){
    Date date = null;
    try {
      date = sdf.parse(time);
    } catch (ParseException e) {
        throw new RuntimeException(e);
    }
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    if(dayAfter>0){
      calendar.add(Calendar.DAY_OF_MONTH, +dayAfter);//后15天数据
      date = calendar.getTime();
      calendar.setTime(date);
    }
    int year=calendar.get(Calendar.YEAR);
    int month=calendar.get(Calendar.MONTH) + 1;
    int day = calendar.get(Calendar.DAY_OF_MONTH);
    String mon="";
    String d="";
    if(month<10){
      mon="0"+month;
    }else{
      mon=month+"";
    }
    if(day<10){
      d="0"+day;
    }else{
      d=""+day;
    }
    String ret=year+""+mon+""+d;
    return ret;
  }
  /**
   *
  * @Title: getDefaultTime
  * @Description: TODO 获取昨天的日期
  * @return
   */
  public static String getDefaultTime(){
    Calendar calendar = Calendar.getInstance();
    calendar.add(Calendar.DAY_OF_MONTH, -1);//前1天
    Date date = calendar.getTime();
    String time=sdf.format(date);
    return time;
  }
  /**
   *
  * @Title: getSunday
  * @Description: TODO 获取最近一个星期天
  * @return
   */
  public static String getSunday(){
    SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd");
    Calendar c = Calendar.getInstance();
    c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
    return f.format(c.getTime());
  }
  /**
   *
  * @Title: getMonthFirstDay
  * @Description: TODO 获取本月第一天
  * @return
   */
  public static String getCurrentMonthFirstDay(){
    Calendar  cal_1=Calendar.getInstance();//获取当前日期
    cal_1.add(Calendar.MONTH, 0);
    cal_1.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
    String firstDay = sdf.format(cal_1.getTime());
    return firstDay;
  }
  /**
   *
  * @Title: getMonthFirstDay
  * @Description: TODO 获取上月第一天
  * @return
   */
  public static String getPreviousMonthFirstDay(){
   //获取当前月第一天:
  Calendar c = Calendar.getInstance();
  c.add(Calendar.MONTH, -1);
  c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
  String first = sdf.format(c.getTime());
  return first;
  }
  /**
   *
  * @Title: getMonthFirstDay
  * @Description: TODO 获取上月最后一天
  * @return
   */
  public static String getPreviousMonthLastDay(){
  //获取当前月最后一天
  Calendar ca = Calendar.getInstance();
  ca.set(Calendar.DAY_OF_MONTH,0);//
  String lastDay = sdf.format(ca.getTime());
  return lastDay;
  }
  /**
   *
  * @Title: getCurrentMonthLastDay
  * @Description: TODO 获取指定时间最后一天
  * @return
   */
  public static String getCurrentMonthLastDay(String time){
    Date date =null;
   try {
    date= sdf.parse(time);
  } catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
  }
  //获取当前月最后一天
  Calendar ca = Calendar.getInstance();
  ca.setTime(date);
  ca.set(Calendar.DAY_OF_MONTH,
      ca.getActualMaximum(Calendar.DAY_OF_MONTH)); //
  String lastDay = sdf.format(ca.getTime());
  return lastDay;
  }
  /***
   *
  * @Title: getCurrentWeekDay
  * @Description: TODO 获取本周周一
   */
  public static String getCurrentMonday(){
     Calendar cal = Calendar.getInstance();
     cal.setFirstDayOfWeek(Calendar.MONDAY);//将每周第一天设为星期一,默认是星期天
     cal.add(Calendar.DATE, 0);
     cal.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
     String monday = sdf.format(cal.getTime());
     return monday;
  }
  /***
   *
  * @Title: getPreviousSunday
  * @Description: TODO 获取上周周日
   */
  public static String getPreviousSunday(){
     Calendar cal = Calendar.getInstance();
     cal.setFirstDayOfWeek(Calendar.MONDAY);//将每周第一天设为星期一,默认是星期天
     cal.add(Calendar.DATE, -1*7);
     cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
     String sunday =sdf.format(cal.getTime());
     return sunday;
  }
  /**
   *
  * @Title: getMiniSencond
  * @Description: TODO 将日期转换为毫秒数
  * @param str
  * @return
   */
  public static String getMiniSencond(String str){
    long millionSeconds=0;
    try {
      millionSeconds = sdfymdhm.parse(str).getTime();//毫秒
    } catch (ParseException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    return millionSeconds+"";
  }
   /**
   *
  * @Title: getDateSencond
  * @Description: TODO 将日期转换为毫秒数
  * @param str
  * @return
   */
  public static long getDateSencond(String str){
    long millionSeconds=0;
    try {
      millionSeconds = sdfymdhms.parse(str).getTime();//毫秒
    } catch (ParseException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    return millionSeconds;
  }
  /**
   * 计算日期相差天数
   * @param str1
   * @param str2
   * @return
   */
  public static int getDistanceOfTwoDate(String str1,String str2){
    int result=0;
    try{
      Date date1 = sdf.parse(str1);
      Date date2 =sdf.parse(str2);
      Calendar aCalendar = Calendar.getInstance();
        aCalendar.setTime(date1);
        int day1 = aCalendar.get(Calendar.DAY_OF_YEAR);
        aCalendar.setTime(date2);
        int day2 = aCalendar.get(Calendar.DAY_OF_YEAR);
        result = day1-day2;
    }catch(Exception e){
      e.printStackTrace();
    }
    return result;
  }
  /**
   *
  * @Title: long2Date
  * @Description: TODO long 转日期(年-月-日 时-分-秒)
  * @param timestamp
  * @return
   */
  public static String longToDate(Long msecond){
    Date date = new Date(msecond);
    return sdfymdhms.format(date);
  }
}

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

150

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

88

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

90

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

61

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

493

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

16

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

12

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

5

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 2.2万人学习

C# 教程
C# 教程

共94课时 | 5.8万人学习

Java 教程
Java 教程

共578课时 | 41万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号