java日期函数精确到日,java日期时间函数分享
前言:
对于新手程序员的我来说,写业务代码是现在的日常,在此过程中经常需要对日期时间进行处理,我挑了几个较有用的日期处理函数分享给大家。
正文:
1、将某格式的时间字符串转化成毫秒时间戳表示的字符串:
public static String dateTimeStrToMills(String dateTime,String format){
String dateStr = null;
SimpleDateFormat sdf = new SimpleDateFormat(format);
Calendar calendar = Calendar.getInstance();
calendar.clear();
try {
Date d = new Date();
d = sdf.parse(dateTime);
calendar.setTime(d);
dateStr = calendar.getTimeInMillis()+"ms";
} catch (ParseException e) {
e.printStackTrace();
}
return dateStr;
}
测试例:
@Test
public void test1(){
String date = "2018-10-10 08:30:00";
String format = "yyyy-MM-dd HH:mm:ss";
String timeMS = DateTimeUtils.dateTimeStrToMills(date,format);
System.out.println("毫秒时间:" + timeMS);//毫秒时间:1539131400000ms
}
2、获取某个月的天数:
public static int getDayNumOfMonth(int year,int month){
Calendar calendar = Calendar.getInstance();
calendar.clear();
calendar.set(year, month,0);
return calendar.get(Calendar.DAY_OF_MONTH);
}
测试例:
@Test
public void test2(){
int year = 2018;
int month = 10;
int dayNum = DateTimeUtils.getDayNumOfMonth(year,month);
System.out.println("dayNum:" + dayNum);//dayNum:31
}
3、获取某日、月、年前后的日期:
public static String getBeforeOrAfterDateType(int num,String date,String format,int timeType){
SimpleDateFormat sdf = new SimpleDateFormat(format);
String resultDate = "";
Calendar calendar = Calendar.getInstance();
calendar.clear();
try {
Date d = new Date();
d = sdf.parse(date);
calendar.setTime(d);
calendar.add(timeType, num);//一天的结束是第二天的开始
resultDate = sdf.format(calendar.getTime());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return resultDate;
}
测试例:
@Test
public void test3(){
//获取某个月前面一个月
int num = -1;
String date = "2018-10";
String format = "yyyy-MM";
int timeType = Calendar.MONTH;
String resultDate = DateTimeUtils.getBeforeOrAfterDateType(num,date,format,timeType);
System.out.println("resultDate:" + resultDate);//resultDate:2018-09
//获取某天几天后的日期
num = 3;
date = "2018-10-05";
format = "yyyy-MM-dd";
timeType = Calendar.DAY_OF_MONTH;
resultDate = DateTimeUtils.getBeforeOrAfterDateType(num,date,format,timeType);
System.out.println("resultDate:" + resultDate);//resultDate:2018-10-08
}
4、根据毫秒时间戳获得格式化后的日期:
public static String millisecondToDate(Long millisecond,String dateFormat){
Date date = new Date(millisecond);
GregorianCalendar gc = new GregorianCalendar();
gc.setTime(date);
SimpleDateFormat format = new SimpleDateFormat(dateFormat);
String sb = format.format(gc.getTime());
return sb;
}
测试例:
@Test
public void test4(){
long mill = 1539131400000l;
String format = "yyyy-MM-dd HH:mm:ss";
String date = DateTimeUtils.millisecondToDate(mill,format);
System.out.println("date:" + date);//date:2018-10-10 08:30:00
}
5、获取某月第一天:
public static String getFirstDayOfMonth(int year,int month){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month-1);
int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
cal.set(Calendar.DAY_OF_MONTH, firstDay);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String firstDayOfMonth = sdf.format(cal.getTime());
return firstDayOfMonth;
}
测试例:
@Test
public void test5(){
int year = 2018;
int month = 11;
String format = "yyyy-MM-dd";
String date = DateTimeUtils.getFirstDayOfMonth(year,month,format);
System.out.println("date:" + date);//date:2018-11-01
}
6、获取某月最后一天:
public static String getLastDayOfMonth(int year,int month,String format){
Calendar cal = Calendar.getInstance();
cal.clear();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month-1);
int lastDay = 0;
lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
cal.set(Calendar.DAY_OF_MONTH, lastDay);
SimpleDateFormat sdf = new SimpleDateFormat(format);
String lastDayOfMonth = sdf.format(cal.getTime());
return lastDayOfMonth;
}
测试例:
@Test
public void test6(){
int year = 2018;
int month = 11;
String format = "yyyy-MM-dd";
String date = DateTimeUtils.getLastDayOfMonth(year,month,format);
System.out.println("date:" + date);//date:2018-11-30
}
7、获取起止日期之间的所有字符串(可自定义间隔、格式、日期类型):
public static ListgetDatesBetweenTwoDate(String begin,String end,int num,int timeType,String format){
ListlDates;
lDates = new ArrayList<>();
try {
SimpleDateFormat sdf = new SimpleDateFormat(format);
Date beginDate = sdf.parse(begin);
Date endDate = sdf.parse(end);
lDates.add(sdf.format(beginDate));
Calendar calendar = Calendar.getInstance();
calendar.setTime(beginDate);
boolean bContinue = true;
while(bContinue){
calendar.add(timeType, num);
if(endDate.after(calendar.getTime())){
lDates.add(sdf.format(calendar.getTime()));
}else{
break;
}
}
lDates.add(sdf.format(endDate));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return lDates;
}
测试例:
@Test
public void test7(){
String startDate = "2018-10-10";
String endDate = "2018-10-15";
String format = "yyyy-MM-dd";
int num = 1;
int timeType = Calendar.DAY_OF_MONTH;
ListtimeList = DateTimeUtils.getDatesBetweenTwoDate(startDate,endDate,num,timeType,format);
System.out.println(timeList.toString());
//[2018-10-10, 2018-10-11, 2018-10-12, 2018-10-13, 2018-10-14, 2018-10-15]
}
java日期函数精确到日,java日期时间函数分享相关推荐
- java获取次月1日,java处置年、月、周次以及起至日期大全 (转载)
当前位置:我的异常网» 编程 » java处置年.月.周次以及起至日期大全 (转载) java处置年.月.周次以及起至日期大全 (转载) www.myexceptions.net 网友分享于:201 ...
- Sql 日月年 日期格式转 月日年 日期格式
原格式: dd-mm月-yy 例:29-6月-06 目标格式: mm dd yy 标准时间格式 Sql 复制字段并转成目标时间格式: update TableName set [NewColName] ...
- c++ linux 获取毫秒_Linux下gettimeofday()函数和clock()函数:精确到毫秒级的时间
使用Linux的gettimeofday函数可以达到获取精确到毫秒级的时间,其中t1=t_start.tv_sec是公元1970年至今的时间(换算为秒),t2=t_start.tv_usec是当 前秒 ...
- c语言的时间函数的介绍,c语言中时间函数介绍
asctime(将时间和日期以字符串格式表示) 相关函数:time,ctime,gmtime,localtime 表头文件:#include 定义函数:char * asctime(const str ...
- c语言时间等待函数linux,常用C语言time时间函数
常见的时间函数有time( ).ctime( ).gmtime( ).localtime( ).mktime( ).asctime( ).difftime( ).gettimeofday( ).set ...
- mysql 本周函数_【转】MySQL时间函数的使用:查询本周、下周、本月、下个月份的数据...
MySQL时间函数的使用:查询本周.上周.本月.上个月份的数据[转] /*今天*/ select * from 表名 where to_days(时间字段) = to_days(now()); /*昨 ...
- 作为Java程序员,对日java开发培训
面试真题以及解析 Web,RESTful API 在微服务中的作用是什么? 微服务架构基于一个概念,其中所有服务应该能够彼此交互以构建业务功能.因此,要实现这一点,每个微服务必须具有接口.这使得 We ...
- 使用OpenCV中的filter2D函数精确实现matlab中的imfilter函数(已测)
转载请注明出处:http://blog.csdn.net/hust_sheng/article/details/79313503 背景 最近复现别人算法的时候,遇到了matlab中的imfilter转 ...
- 标准C语言各种时间函数用法,C语言中系统时间函数是怎么用的?
慕莱坞森 1.C语言中读取系统时间的函数为time(),其函数原型为:#include time_t time( time_t * ) ;time_t就是long,函数返回从1970年1月1日(MFC ...
最新文章
- 一个实用技巧,告别手动画图,自动生成数据库 ER 图|原创
- LeetCode 542. 01 Matrix--C++解法--动态规划
- python【力扣LeetCode算法题库】55-跳跃游戏
- [转]Supporting OData Query Options in ASP.NET Web API 2
- Java-string字符串
- 线程Thread,Runnable
- python3 三角函数
- knn算法python代码_K-最近邻分类算法(KNN)及python实现
- 在 Windows 10 中查找 BitLocker 恢复密钥
- python小结教学_Python Str内部功能-个人课堂笔记,课后总结
- vector java 复制_Java代码性能优化的 40+ 细节
- atitit.报表最佳实践oae 与报表引擎选型
- 软件工程导论 实验二 数据库设计
- pr怎么导出预设_怎样用Pr导出清晰度高的视频?
- 使用itextpdf切割、合并pdf以及合并多个图片成为pdf
- Vue 使用 video 标签实现视频播放
- 勤于奋:国外LEAD账号申请细节
- 通过京东商品ID获取京东优惠券信息,京东优惠券信息接口,京东优惠券API接口,接口说明接入方案
- 【C#】无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe)
- 数据结构与算法 | 希尔排序
热门文章
- 你真的懂break和continue吗?这篇文章让你明白
- MySQL工具名字_MySQL客户端工具及SQL讲解
- R语言对数线性模型loglm函数_R 对数变换 《回归分析与线性统计模型》page103
- 发动机压缩比怎么计算公式_怎么判断发动机有积碳,发动机积碳多的症状有哪些...
- 中蜂几月份自然分蜂_蜜蜂的种类:北黑蜂,中华蜜蜂,皖南中蜂,贵州纳雍中蜂等等...
- Python 进程池 multiprocessing.Pool - Python零基础入门教程
- Python 匿名函数 lambda - Python零基础入门教程
- BugkuCTF-Reverse题love
- 如何占用计算机内存,电脑内存占用太高怎么办 教你电脑内存不够用解决方法...
- 计算机网络静态路由大作业 3地互联,计算机网络-静态路由配置