转载自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. HTML学习-2标记标签-1

    大致可以分为以下6类学习: 1.通用标签. 2.常用标签. 3.表格标签. 4.表单元素. 5.框架. 6.其他. 一.通用标签.及属性 1.<body></body>标签,主 ...

  2. cordova-config.xml配置应用图标

    1. <icon src="res/icon/ios/browser.png"/> 2.规格: iphone平台一般要求3种规格的图片:1x.2x.3x,也是就Icon ...

  3. 尚硅谷springboot学习10-@PropertySource,@ImportResource,@Bean

    @PropertySource 使用指定的属性文件而不一定是application.xxx 同样可以注入相关内容 @ImportResource 导入Spring的配置文件,让配置文件里面的内容生效: ...

  4. 【原创】字典攻击教务处(BurpSuite使用)

    0x00 本例使用Burp Suite跑字典爆破教务处登录. 使用账户名:yanjiushengdadui 本示例将结合说明Burp Suite的基本使用. 0x01 BurpSuite代理配置 浏览 ...

  5. 18.1利用socket .io 实现 editor间代码的同步

    首先,我们想实现在同一个页面editor 大家同时编辑 同步 所以能 我们需要这个url 作为我们 session id 或者叫聊天室的roomid 或者 反正就是保证他们在同一个list里面 就是 ...

  6. js教程

    http://study.163.com/course/courseLearn.htm?courseId=1076006#/learn/video?lessonId=1290547&cours ...

  7. mongodb从入门到精通

    1.mongodb官网下载文件2.安装mongodb 3.配置安装成服务 4.记得连接的时候修改连接的ip地址 5.显示当前使用的数据库名——dbs 6.查找所有数据库——show dbs 7.查找所 ...

  8. WebAPI 和 webservice接口

    1. webservice走HTTP协议和80端口.WebService则类似于bs架构,只需要开发服务器端,不需要开发客户端,客户端只要遵循soap协议,就可以调用. 2. api,用的协议和端口, ...

  9. mysql读写分离 主从同步

    MySQL主从复制与读写分离的实现 转载 2013年01月17日 18:20:12   MySQL主从复制与读写分离 MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy) ...

  10. mongodb副本集的从库永久性设置setSlaveOk

    今天在生产环境下面搭了一个mongo的副本集,但开发那边要求副本集读写分离. 坑爹的是每次上副本集的时候都要设置db.getMongo().setSlaveOk()才能访问数据.感觉很是苦逼. 后来开 ...