Date 时间 日期 常用方法函数
转载自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 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 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 时间 日期 常用方法函数的更多相关文章
- C# 时间日期(函数,解释)
C#时间/日期格式大全,C#时间/日期函数大全 有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2005-6-6 14:33:34 如果要换成成200506,06-2005,2005-6- ...
- JS获取时间日期常用方法
1 当前时间: new Date() 2 当前周: function getCurrentWeek() { var date = new Date() var beginDate = new Date ...
- JavaScript Date对象 日期获取函数
JavaScript Date对象使用小例子: 运行结果: 总结: 1.尽管我们认为12月是第12个月份,但是JavaScript从0开始计算月份,所以月份11表示12月: 2.nowDate.set ...
- js 格式化时间日期函数小结
下面是脚本之家为大家整理的一些格式化时间日期的函数代码,需要的朋友可以参考下. 代码如下: Date.prototype.format = function(format){ var o = { &q ...
- 银弹谷零代码开发V百科|使用技巧:OMG!这些时间日期函数太好用了吧,盘它
银弹谷零代码开发V百科|使用技巧:OMG!这些时间日期函数太好用了吧,盘它 Hello~everybody!小V又来咯!这次小V给大家带来的是零代码开发V平台常用的时间日期函数.小V知道我们平时常常会 ...
- MySQL学习记录--生成时间日期数据
时间数据格式组件: 组件 定义 范围 YYYY 年份,包括世纪 1000~9999 MM 月份 01(January)~12(December) DD 日 01~31 HH 小时 00~23 HHH ...
- 07、MySQL—时间日期类型
时间日期类型 1.Date 日期类型:系统使用三个字节来存储数据,对应的格式为:YYYY-mm-dd,能表示的范围是从1000-01-01 到9999-12-12,初始值为0000-00-00 2.T ...
- 时间日期转换工具类,获取当前时间YYYYMMDD24HHMISS、YYYYMMDDHHMISS
YYYYMMDD24HHMISS:24小时制时间(显示上只是比YYYYMMDDHHMISS中间多了一个24),例:2018102224112440 YYYYMMDDHHMISS:12小时制时间,例20 ...
- CentOS时间日期类语法
目录 一.date时间日期类 1. date显示当前时间 2. date 显示非当前时间 3. date 设置系统时间 二.cal 查看日历 一.date时间日期类 date [OPTION]... ...
随机推荐
- 后台设计的基石:用户权限管理(RBAC)及工作流(workflow)模型
后台产品同学在设计后台时,会发现一般后台的各个功能模块总结起来有两大类型:功能类.流程类.在设计功能或流程前都需要预判不同的使用角色对应不同权限,设计流程前则还得思考最基本的工作流原理. 用户权限是设 ...
- 笨方法学python之读写文件、open函数的用法
一.python读写文件相关知识点 close:关闭文件 read:读取文件的内容//你可以把结果赋给一个变量 readline:只读取文件中的一行 truncate 美 /trʌŋ'ket/ :清空 ...
- mui 常用手势
一 事件: 点击:1. tap 单击屏幕2. doubletap 双击屏幕长按:1. longtap 长按屏幕2. hold 按住屏幕3.release 离开屏幕滑动:1. swipeleft 向左滑 ...
- Lazarus下改变DBGrid记录的颜色,与Delphi不同了。
功能:根据一条记录满足特定条件,使用不同的颜色进行显示. 来源:http://www.aliyagoo.com/blog 主要事件是在PrepareCanvas 不是DrawColumnCell 而且 ...
- Python3.7中urllib.urlopen 报错问题
import urllib web = urllib.urlopen('https://www.baidu.com') f = web.read() print(f) 报错: Traceback (m ...
- C++几个重要关键字(包含借鉴其他博主的东西)
//内存 栈区 与 static区 ,C++为了兼容C,#include 只是文本替换,导致一堆命名空间之间的复杂问题,倍受人诟病 extern 关键字 1.基本含义:意如其名,告诉编译器声明的东西 ...
- Google 2013笔试题一
2.1 给定三个整数a,b,c,实现 int median(int a, int b, int c),返回三个数的中位数,不可使用sort,要求整数操作(比较,位运算,加减乘除等)次数尽量少,并分析说 ...
- Nodejs 第一站
Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台. Node.js 是一个事件驱动I/O服务端JavaSc ...
- 1.网站js文件获取
++++++++++++++++++++++ pls,input your domain like: http://111.com #coding:utf8 #encoding=utf8 import ...
- 使用 COM 类库创建链接桌面快捷方式
用到的 COM 类库: Windows Script Host Object Model --> Interop.IWshRuntimeLibrary.dll 示例代码: private sta ...