转载自https://www.cnblogs.com/lcngu/p/5154834.html

一、java.util.Date对象用来表示时间,基本方法如下:

Date mDate = new Date();  //获取现在时间

Date mDate = new Date(long);   //参数是自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数

boolean after(Date when)    //测试此日期是否在指定日期之后。

boolean before(Date when)    //测试此日期是否在指定日期之前。

Object clone()    //返回此对象的副本。

int compareTo(Date anotherDate)    //比较两个日期的顺序。

boolean equals(Object obj)    //比较两个日期的相等性。

long getTime()    //返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

int hashCode()    //返回此对象的哈希码值。

void setTime(long time)    //设置此 Date 对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点。

String toString()     //把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中:

dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。

mon 是月份 (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)。

dd 是一月中的某一天(01 至 31),显示为两位十进制数。

hh 是一天中的小时(00 至 23),显示为两位十进制数。

mm 是小时中的分钟(00 至 59),显示为两位十进制数。

ss 是分钟中的秒数(00 至 61),显示为两位十进制数。

zzz 是时区(并可以反映夏令时)。标准时区缩写包括方法 parse 识别的时区缩写。如果不提供时区信息,则 zzz 为空,即根本不包括任何字符。

yyyy 是年份,显示为 4 位十进制数。

二、java.text.SimpleDateFormat可以将Date对象和String相互转换,常用方法如下:

1、将Date转为String

Date date = new Date();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss EE",Locale.getDefault());
String str = df.format(date);

2、将String转为Date

String str = "2016-01-24 02:51:07 星期日";
DateFormat df = new SimpleDateFormat("yyyy-MM-01 hh:mm:ss EE");
Date date = df.parse(str);

三、java.util.GregorianCalendar类(Calendar的直接子类)提供了世界上大多数国家使用的标准日历系统

需要注意:

1、Calendar的星期是从周日开始的,常量值为0。
2、Calendar的月份是从一月开始的,常量值为0。
3、Calendar的每个月的第一天值为1。

常用方法如下:

1、Calendar now = new GregorianCalendar(2016, 01, 24, 15, 55, 44);     //创建对象,年/月/日/时/分/秒

2、Calendar now = new GregorianCalendar();    now.setTime(new Date());    //通过Date对象来创建

3、now.get(Calendar.YEAR));    //获取年份

4、now.get(Calendar.MONTH));    //获取月份

5、now.get(Calendar.DAY_OF_MONTH));    //当月中的第几日

6、now.get(Calendar.HOUR));    //获取时

7、now.get(Calendar.MINUTE));    //获取分

8、now.get(Calendar.SECOND));    //获取秒

9、now.get(Calendar.AM_PM));    //是上午还是下午

10、now.get(Calendar.DAY_OF_WEEK));    //当周的第几天

运算的方法主要是add()函数,例如,往后推五年:

now.add(Calendar.YEAR, 5);

四、时间工具类,将上面常用的函数放入该类,使用时比较方便。

import android.text.TextUtils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar; /**
* 时间工具类
* @author bluefisher
*
*/
public class TimeUtils{ /**
* 日期格式,yyyyMMdd: "yyyy-MM-dd"
*/
public static final String yyyy_MM_ddStr = "yyyy-MM-dd"; /**
* 日期格式,yyyyMMddhhmmss: "yyyy-MM-dd kk:mm:ss"
*/
public static final String yyyyMMddhhmmssStr = "yyyy-MM-dd HH:mm:ss"; public TimeUtils() { } /**
* 时间加减
*/
public static Date getDateAfterOpTime(Date date,int field,int amount) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(field,amount);
return cal.getTime();
} public static String dateToStr(Date date,String pattern){
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(date);
} public static Date strToDate(String dateStr,String pattern){
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
try {
return sdf.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
} public static String transferLongToDate(Long millSec,String pattern) {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
Date date = new Date(millSec.longValue());
return sdf.format(date);
} public static String getWeekDay() {
return null;
} public static Date getDate(String dateString, String format) {
if (!TextUtils.isEmpty(dateString)) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
try {
return simpleDateFormat.parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
}
}
return null;
} public static String getDate(Date date, String format) {
if (null != date) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
return simpleDateFormat.format(date);
}
return null;
} /**
* 获取指定时间的年份
* @param date
* @return
*/
public static int getYear(Date date){
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = sd.format(date); return Integer.parseInt(dateStr.substring(0, 4)); } /**
* 获取制定时间的月份
* @param date
* @return
*/
public static int getMonth(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.MONTH) + 1; } /**
* 获取制定时间的日
* @param date
* @return
*/
public static int getDay(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.DAY_OF_MONTH);
} public static String getWeek(Date date){
String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int w = calendar.get(Calendar.DAY_OF_WEEK) - 1;
if (w < 0)
w = 0;
return weekDays[w];
} //2015年7月5日 星期三
public static String getStrDateAndWeed(Date date){
String str = getYear(date) + "年" + getMonth(date) + "月" + getDay(date) + "日" + " " + getWeek(date);
return str;
} /**
* 计算两个日期相差的天数
* @param data1
* @param data2
* @return
*/
public static Integer days(String data1, String data2){
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
Long c = null;
try {
c = sf.parse(data2).getTime()-sf.parse(data1).getTime();
} catch (ParseException e) {
e.printStackTrace();
}
long d = c/1000/60/60/24;//天
int days = (int)d;
return days;
} /**
* 日期增长
* @param time
* @param dayCount 增长天数
* @return
*/
public static String time(String time, int dayCount){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String str="";
try {
Date date = sdf.parse(time);
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
calendar.add(calendar.DATE, dayCount);//
//把日期往后增加一天.整数往后推,负数往前移动
date = calendar.getTime(); // 这个时间就是日期往后推一天的结果
str= sdf.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
return str;
}
}

Date 时间 日期 常用方法函数的更多相关文章

  1. C# 时间日期(函数,解释)

    C#时间/日期格式大全,C#时间/日期函数大全 有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2005-6-6 14:33:34 如果要换成成200506,06-2005,2005-6- ...

  2. JS获取时间日期常用方法

    1 当前时间: new Date() 2 当前周: function getCurrentWeek() { var date = new Date() var beginDate = new Date ...

  3. JavaScript Date对象 日期获取函数

    JavaScript Date对象使用小例子: 运行结果: 总结: 1.尽管我们认为12月是第12个月份,但是JavaScript从0开始计算月份,所以月份11表示12月: 2.nowDate.set ...

  4. js 格式化时间日期函数小结

    下面是脚本之家为大家整理的一些格式化时间日期的函数代码,需要的朋友可以参考下. 代码如下: Date.prototype.format = function(format){ var o = { &q ...

  5. 银弹谷零代码开发V百科|使用技巧:OMG!这些时间日期函数太好用了吧,盘它

    银弹谷零代码开发V百科|使用技巧:OMG!这些时间日期函数太好用了吧,盘它 Hello~everybody!小V又来咯!这次小V给大家带来的是零代码开发V平台常用的时间日期函数.小V知道我们平时常常会 ...

  6. MySQL学习记录--生成时间日期数据

    时间数据格式组件: 组件 定义 范围 YYYY 年份,包括世纪 1000~9999 MM 月份 01(January)~12(December) DD 日 01~31 HH 小时 00~23 HHH ...

  7. 07、MySQL—时间日期类型

    时间日期类型 1.Date 日期类型:系统使用三个字节来存储数据,对应的格式为:YYYY-mm-dd,能表示的范围是从1000-01-01 到9999-12-12,初始值为0000-00-00 2.T ...

  8. 时间日期转换工具类,获取当前时间YYYYMMDD24HHMISS、YYYYMMDDHHMISS

    YYYYMMDD24HHMISS:24小时制时间(显示上只是比YYYYMMDDHHMISS中间多了一个24),例:2018102224112440 YYYYMMDDHHMISS:12小时制时间,例20 ...

  9. CentOS时间日期类语法

    目录 一.date时间日期类 1. date显示当前时间 2. date 显示非当前时间 3. date 设置系统时间 二.cal 查看日历 一.date时间日期类 date [OPTION]... ...

随机推荐

  1. 后台设计的基石:用户权限管理(RBAC)及工作流(workflow)模型

    后台产品同学在设计后台时,会发现一般后台的各个功能模块总结起来有两大类型:功能类.流程类.在设计功能或流程前都需要预判不同的使用角色对应不同权限,设计流程前则还得思考最基本的工作流原理. 用户权限是设 ...

  2. 笨方法学python之读写文件、open函数的用法

    一.python读写文件相关知识点 close:关闭文件 read:读取文件的内容//你可以把结果赋给一个变量 readline:只读取文件中的一行 truncate 美 /trʌŋ'ket/ :清空 ...

  3. mui 常用手势

    一 事件: 点击:1. tap 单击屏幕2. doubletap 双击屏幕长按:1. longtap 长按屏幕2. hold 按住屏幕3.release 离开屏幕滑动:1. swipeleft 向左滑 ...

  4. Lazarus下改变DBGrid记录的颜色,与Delphi不同了。

    功能:根据一条记录满足特定条件,使用不同的颜色进行显示. 来源:http://www.aliyagoo.com/blog 主要事件是在PrepareCanvas 不是DrawColumnCell 而且 ...

  5. Python3.7中urllib.urlopen 报错问题

    import urllib web = urllib.urlopen('https://www.baidu.com') f = web.read() print(f) 报错: Traceback (m ...

  6. C++几个重要关键字(包含借鉴其他博主的东西)

    //内存 栈区 与 static区 ,C++为了兼容C,#include 只是文本替换,导致一堆命名空间之间的复杂问题,倍受人诟病 extern  关键字 1.基本含义:意如其名,告诉编译器声明的东西 ...

  7. Google 2013笔试题一

    2.1 给定三个整数a,b,c,实现 int median(int a, int b, int c),返回三个数的中位数,不可使用sort,要求整数操作(比较,位运算,加减乘除等)次数尽量少,并分析说 ...

  8. Nodejs 第一站

    Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台. Node.js 是一个事件驱动I/O服务端JavaSc ...

  9. 1.网站js文件获取

    ++++++++++++++++++++++ pls,input your domain like: http://111.com #coding:utf8 #encoding=utf8 import ...

  10. 使用 COM 类库创建链接桌面快捷方式

    用到的 COM 类库: Windows Script Host Object Model --> Interop.IWshRuntimeLibrary.dll 示例代码: private sta ...