Date类学习总结 1.计算某一月份的最大天数 Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); year 为 int time.set(Calendar.MONTH,i-1);注意,Calendar对象默认一月为0 int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);本月份的天数注:在使用set方法之前,必须先clear一下,否则很多信息会继承自系统当前时间 2.Calendar和Date的转化 (1) Calendar转化为Date Calendar cal=Calendar.getInstance(); Date date=cal.getTime(); (2) Date转化为Calendar Date date=new Date(); Calendar cal=Calendar.getInstance(); cal.setTime(date); 3.把字符串转化为java.util.Date 方法一: SimpleDateFormat sdf=new SimpleDateFormat(yyyy-MM-dd); java.util.Date dt=sdf.parse(2005-2-19); System.out.print(sdf.format(dt)); 输出结果是:2005-2-19 方法二: java.util.Date dt=null; DateFormat df=DateFormat.getDateInstance(); dt=df.parse(2005-12-19); System.out.println(dt); 输出结果为:Mon Dec 19 000000 CST 2005 System.out.println(df.format(dt)); 输出结果为:2005-2-19 4.把字符串转化为java.sql.Date 字符串必须是yyyy-mm-dd格式,否则会抛出IllegalArgumentException异常 java.sql.Date sdt=java.sql.Date.valueOf(2005-9-6); System.out.println(sdt); 输出结果为:2005-9-6 5.格式化输出日期时间 (这个用的比较多) Date date=new Date(); SimpleDateFormat df=new SimpleDateFormat(yyyy-MM-dd hhmmss); String time=df.format(date); System.out.println(time); 需要注意的一点:SimpleDateFormat类格式化一个字符串时,可根据需要调用 format() 或 parse() 函数;只不过format()返回String类型,parse()返回java.util.Date类型 6.计算一年中的第几星期 (1)计算某一天是一年中的第几星期 Calendar cal=Calendar.getInstance(); cal.set(Calendar.YEAR, 2006); cal.set(Calendar.MONTH, 8); cal.set(Calendar.DAY_OF_MONTH, 3); int weekno=cal.get(Calendar.WEEK_OF_YEAR); (2)计算一年中的第几星期是几号 SimpleDateFormat df=new SimpleDateFormat(yyyy-MM-dd); Calendar cal=Calendar.getInstance(); cal.set(Calendar.YEAR, 2006); cal.set(Calendar.WEEK_OF_YEAR, 1); cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); System.out.println(df.format(cal.getTime())); 输出 2006-01-02 7.add()和roll()的用法(不太常用) (1)add()方法 SimpleDateFormat df=new SimpleDateFormat(yyyy-MM-dd); Calendar cal=Calendar.getInstance(); cal.set(Calendar.YEAR, 2006); cal.set(Calendar.MONTH, 8); cal.set(Calendar.DAY_OF_MONTH, 3); cal.add(Calendar.DATE, -4); Date date=cal.getTime(); System.out.println(df.format(date)); cal.add(Calendar.DATE, 4); date=cal.getTime(); System.out.println(df.format(date)); 输出: 2006-08-30 2006-09-03 (2)roll方法 cal.set(Calendar.YEAR, 2006); cal.set(Calendar.MONTH, 8); cal.set(Calendar.DAY_OF_MONTH, 3); cal.roll(Calendar.DATE, -4); date=cal.getTime(); System.out.println(df.format(date)); cal.roll(Calendar.DATE, 4); date=cal.getTime(); System.out.println(df.format(date)); 输出: 2006-09-29 2006-09-03 可见,roll()方法在本月内循环,一般使用add()方法; 8.计算两个任意时间中间的间隔天数(这个比较常用) (1)传进Calendar对象 public int getIntervalDays(Calendar startday,Calendar endday){ if(startday.after(endday)){ Calendar cal=startday; startday=endday; endday=cal; } long sl=startday.getTimeInMillis(); long el=endday.getTimeInMillis(); long ei=el-sl; return (int)(ei(1000606024)); } (2)传进Date对象 public int getIntervalDays(Date startday,Date endday){ if(startday.after(endday)){ Date cal=startday; startday=endday; endday=cal; } long sl=startday.getTime(); long el=endday.getTime(); long ei=el-sl; return (int)(ei(1000606024)); } (3)改进精确计算相隔天数的方法 public int getDaysBetween (Calendar d1, Calendar d2){ if (d1.after(d2)){ java.util.Calendar swap = d1; d1 = d2; d2 = swap; } int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR); int y2 = d2.get(Calendar.YEAR); if (d1.get(Calendar.YEAR) != y2){ d1 = (Calendar) d1.clone(); do{ days += d1.getActualMaximum(Calendar.DAY_F_YEAR);得到当年的实际天数 d1.add(Calendar.YEAR, 1); } while (d1.get(Calendar.YEAR) != y2); } return days; } 注意:通过上面的方法可以衍生出求任何时间,如要查出邮箱三周之内收到的邮件(得到当前系统时间-再得到三周前时间)用收件的时间去匹配 最好装化成 long去比较如:1年前日期(注意毫秒的转换) java.util.Date myDate=new java.util.Date(); long myTime=(myDate.getTime()1000)-606024365; myDate.setTime(myTime1000); String mDate=formatter.format(myDate); 3周前的日期 Calendar cal3 = Calendar.getInstance(); cal3.add(cal3.DATE, -21);取3周前的日期 String date = formatter.format(cal3.getTime()); 9. String 和 Date ,Long 之间相互转换 (最常用) 字符串转化成时间类型(字符串可以是任意类型,只要和SimpleDateFormat中的格式一致即可)通常我们取时间跨度的时候,会substring出具体时间--long-比较 java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(Mddyyyy hhmmss a,java.util.Locale.US); java.util.Date d = sdf.parse(5132003 103137 AM); long dvalue=d.getTime(); SimpleDateFormat formatter = new SimpleDateFormat(yyyy-MM-dd HHmmss); String mDateTime1=formatter.format(d); 10. 通过时间求时间 年月周求日期 SimpleDateFormat formatter2 = new SimpleDateFormat(yyyy-MM F E); java.util.Date date2= formatter2.parse(2003-05 5 星期五); SimpleDateFormat formatter3 = new SimpleDateFormat(yyyy-MM-dd); String mydate2=formatter3.format(date2); 求是星期几 mydate= myFormatter.parse(2001-1-1); SimpleDateFormat formatter4 = new SimpleDateFormat(E); String mydate3=formatter4.format(mydate); 11. java 和 具体的数据库结合 在开发web应用中,针对不同的数据库日期类型,我们需要在我们的程序中对日期类型做各种不同的转换。若对应数据库数据是oracle的Date类型,即只需要年月日的,可以选择使用java.sql.Date类型,若对应的是MSsqlserver 数据库的DateTime类型,即需要年月日时分秒的,选择java.sql.Timestamp类型你可以使用dateFormat定义时间日期的格式,转一个字符串即可 class Datetest{ method 将字符串类型的日期转换为一个timestamp(时间戳记java.sql.Timestamp) @param dateString 需要转换为timestamp的字符串 @return dataTime timestamp public final static java.sql.Timestamp string2Time(String dateString) throws java.text.ParseException { DateFormat dateFormat; dateFormat = new SimpleDateFormat(yyyy-MM-dd kkmmss.SSS, Locale.ENGLISH);设定格式 dateFormat = new SimpleDateFormat(yyyy-MM-dd kkmmss, Locale.ENGLISH); dateFormat.setLenient(false); java.util.Date timeDate = dateFormat.parse(dateString);util类型 java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());Timestamp类型,timeDate.getTime()返回一个long型 return dateTime; } method 将字符串类型的日期转换为一个Date(java.sql.Date) @param dateString 需要转换为Date的字符串 @return dataTime Date public final static java.sql.Date string2Date(String dateString) throws java.lang.Exception { DateFormat dateFormat; dateFormat = new SimpleDateFormat(yyyy-MM-dd, Locale.ENGLISH); dateFormat.setLenient(false); java.util.Date timeDate = dateFormat.parse(dateString);util类型 java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());sql类型 return dateTime; } public static void main(String[] args){ Date da = new Date(); 注意:这个地方da.getTime()得到的是一个long型的值 System.out.println(da.getTime()); 由日期date转换为timestamp 第一种方法:使用new Timestamp(long) Timestamp t = new Timestamp(new Date().getTime()); System.out.println(t); 第二种方法:使用Timestamp(int year,int month,int date,int hour,int minute,int second,int nano) Timestamp tt = new Timestamp(Calendar.getInstance().get( Calendar.YEAR) - 1900, Calendar.getInstance().get( Calendar.MONTH), Calendar.getInstance().get( Calendar.DATE), Calendar.getInstance().get( Calendar.HOUR), Calendar.getInstance().get( Calendar.MINUTE), Calendar.getInstance().get( Calendar.SECOND), 0); System.out.println(tt); try { String sToDate = 2005-8-18;用于转换成java.sql.Date的字符串 String sToTimestamp = 2005-8-18 142112.123;用于转换成java.sql.Timestamp的字符串 Date date1 = string2Date(sToDate); Timestamp date2 = string2Time(sToTimestamp); System.out.println(Date+date1.toString());结果显示 System.out.println(Timestamp+date2.toString());结果显示 }catch(Exception e) { e.printStackTrace(); } } } 一、Date的构造函数 1.1构造一个反映当时时间的Date实例 Date public Date() 构造一个Date对象并对其进行初始化以反映当前时间。 1.2从一个长整型数据构造一个Date实例 Date public Date(long date) 构造一个Date对象,并根据相对于GMT 1970年1月1日000000的毫秒数对其进行初始化。 参数: date - 相对于GMT 1970年1月1日000000的毫秒数。 1.3从年月日时分秒构造一个Date实例 Date public Date(int year, int month, int date) public Date(int year, int month, int date, int hrs, int min) public Date(int year, int month, int date, int hrs, int min, int sec) 这三个构造函数均不推荐使用,在JDK 1.1版中,分别被Calendar.set(year + 1900, month, date)或GregorianCalendar(year + 1900, month, date)、Calendar.set(year + 1900, month, date, hrs, min)或 GregorianCalendar(year + 1900, month, date, hrs, min)、Calendar.set(year + 1900, month, date, hrs, min, sec)或GregorianCalendar(year + 1900, month, date, hrs, min, sec)代替。
相关推荐
基于多时间尺度的电动汽车光伏充电站联合分层优化调度(Matlab代码实现)
该研究提出了一种电动汽车光伏充电站的分层优化调度方法,采用日前-日内两阶段协同优化框架。日前阶段通过混合整数规划对多充电站进行全局优化,以平抑电网波动和降低购电成本为目标;日内阶段基于实时数据,采用NSGA-II等算法动态分配充电功率。该方法实现了光伏高效消纳、成本节约和电网负荷平衡的有效统一。
日期Date 、Calendar、SimpleDateFormat学习总结(一)
Date:由于设计方面的不合理以及扩展性较差。例如:getTime返回的long数据是从1900年1月1日距离现在的时间毫秒数 getYear返回的是从1900年距离现在的年数。而且无法实现国际化,无法针对时区显示对应的时间。因此被废弃。目前在用的 方法,long getTime(),setTime(long) Calendar:将Date取而代之,可以准确的获取年、月、日、时、分、秒。set
告别社区5级:一个脚本搞定小米/红米BL解锁的账号绑定限制(附资源下载与避坑指南)
本文提供了一种绕过小米/红米设备Bootloader解锁社区等级限制的技术方案,适用于MIUI 12.5-14和HyperOS 1.0系统。通过自动化脚本临时修改系统组件,用户可快速完成账号绑定和设备解锁流程,附详细操作指南和常见问题解决方案。
java wait方法_java wait方法浅析
对于java wait你都了解多少呢?下面的文章就是对java wait方法的一个简单介绍,具体的通过代码来了解哦,一起来看看吧。wait方法是让当前线程等待,注意,这里的当前线程指的不是t,指的是主线程,wait会释放锁,等到其他线程调用notify方法的时候再继续运行。下面可以一起通过下面的例子来了解一下。例子:packagecom.citi.test.mutiplethread.demo0...
三分钟解决RKNN-Toolkit2安装失败:从模块报错到成功验证的完整记录
本文详细记录了RKNN-Toolkit2安装失败的解决方案,从环境配置到模型转换实战,特别针对常见的'No module named 'rknn''报错提供了完整修复指南。通过YOLOv8模型转换示例,展示了从ONNX到RKNN格式的完整流程,并分享了在RK3588芯片上的部署优化技巧。
shader基于高度的权重混合
效果图: 基于高度的权重混合 , 效果描述: (1)混合:三层混合, 例如 第一层是草,第二层是石头,第三层是沙子,三者混合显示 (2)权重: 三层的权重的和 为1, 三者是此消彼长的关系 (3)高度:高度会限制或者说是 束缚 着 效果 关于混合,再多说几句: (1)基于权重的混合:权重 ,跟顺序没有关系 只跟权重的大小有关系(在一层一层界限不清晰的地方,特别适用!!效果极好!!!!) (2)基于叠加的混合: 叠加 就是 一层一层的往上加。。。。 所以顺序特别重要(在雪地等效果中使用:因为
java中的sleep()和wait()的区别
/** * java中的sleep()和wait()的区别 * @author Hongten * @date 2013-12-10 */ public class TestD { public static void main(String[] args) { new Thread(new Thread1()).start(); try {
GEE:提取研究区 NDVI/LST/RVI 并进行时间序列线性插值填补缺失像素和Savitsky-Golay(SG)滤波平滑处理
养乐多_本文将介绍使用Landsat数据集,构建时间序列,并使用线性插值算法填补缺失数据,或者去云空洞,并进一步对完整的时间序列数据进行SG滤波处理。
java 使用 Date 和 SimpleDateFormat 类表示时间
在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类。这个类最主要的作用就是获取当前时间,我们来看下 Date 类的使用: 使用 Date 类的默认无参构造方法创建出的对象就代表当前时间,我们可以直接输出 Date 对象显示当前的时间,显示的结果如下: 其中, Wed 代表 Wednesday (星期三), Jun
基于simulink创建一个针对双馈异步风力发电机并网运行的仿真模型
摘要:本文详细介绍了基于Simulink的双馈异步风力发电机(DFIG)并网运行仿真建模方法。系统包含风速输入、风力机、双馈发电机、电力电子变换器、控制器和并网接口等模块,通过8个步骤完整呈现了建模流程,包括风速模拟、机械功率计算、发电机特性建模、变流器控制策略设计等关键环节。仿真可评估系统在不同风速条件下的动态响应、最大功率跟踪能力和发电效率,为风力发电系统的优化设计提供有效验证手段。模型可根据实际需求扩展环境因素和电网交互等细节,提高仿真精度。
把 sy-* 带进 ABAP CDS:ABAP 7.50 里的环境信息新姿势($session 与 @Environment.systemField 实战)
摘要:ABAP 7.50在CDS视图中引入两种获取环境信息的方式:1)直接使用$session会话变量读取用户、客户端和系统语言;2)通过@Environment.systemField注解参数,由Open SQL自动注入系统字段。$session方式简单但依赖Open SQL访问路径,非ABAP环境下可能失效;注解参数方案更工程化,依赖关系明确且支持测试。建议ABAP体系内优先使用$session,对外接口采用参数化方案。两种方式各有适用场景,正确选择可避免潜在风险。(148字)
date类学习【六】
public class WanYearLi { public static void main(String[] args ) throws ParseException { Scanner input = new Scanner(System. in ); System. out .println( " 请输入...
SKUA-GOCAD入门教程-第六节
DisplayElements窗口是用于浏览和处理项目数据的工具,包含多个数据浏览器,如模型列表、对象、未分类对象、属性数据及资源数据。
Java学习日志(一): Date类,DateFormat类,Calendar类,Object类
Java学习日志(一)Date类 Date() Date(long date) setTime(long time) getTime(); DateFormat类 Object类 toString方法 equals方法 重写方法 Calendar类 get(int field) set(int field, int value) add(int field, int amount) getTime() setTime(Date date) 练习:计算一个人出生了多少天
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
数学建模模型总结
这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!
Java学习day21:System类、Runtime类、Date类、Calendar类(知识点详解)
Java学习day21:System类、Runtime类、Date类、Calendar类 一、System类 这个类应该说是我们最熟悉的一个类了,是一个系统类,常用的输入输出都需要依靠这个类。1.常用方法1.1currentTimeMillis()这个获取当前时间的方法用的比较多,能够获取从1970-现在的毫秒数---
Data-Structures-and-Algorithm-Analysis-in-Java.pdf
作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...
学习Java中Date类
前言 Java中跟日期相关的一共有三个,这里我们首先来学习Java.util包下的Date类。 概述 Date类代表了一个特定的时间,以毫秒为精度。 构造方法 无参: Date() - - - - -分配一个Date对象,并初始化,代表他被分配的时间 示例: Date d1 = new Date(); System.out.println(d1); 结果: Tue Aug 03 11:21:56 CST 2021 带参: Date(lon...
Statistics and Machine Learning Toolbox
Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具
java如何生成date类_关于JAVA学习_Date类
一、 Date类Date类对象的创建:1、创建一个当前时间的Date对象//创建一个代表系统当前日期的Date对象Date d = new Date();2、创建一个我们指定的时间的Date对象:使用带参数的构造方法Date(int year, int month, int day) ,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份...
date类学习【四】
import java.util.Calendar; import java.util.GregorianCalendar; public class TestCalendar { public static void main(String[] args ) { Calendar cal = new GregorianCalendar()...
Date类学习了解
1.Date类的了解叙述 java.util.Date类表示特定的瞬间,精确到毫秒。 继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时, 但是其中未过时的构造函数可以把毫秒值转化成日期对象。 在 JDK1.1 之前,类 Date 有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和解析日期字符串。不过,这些函数的 API ...
date类学习【五】
public class TestDateFormat { public static void main(String[] args ) throws ParseException { // 检查时异常,要求必须做处理,处理方式有两种 throws ,try-catch-finally Scanner input = new Scanne...
关于Date类的学习
标题 java.util.Date:表示日期和时间的类 date表示特定的瞬间,精确到毫秒。毫秒:千分之一秒,1000毫秒=1秒 特定的瞬间:一个时间点,一刹那时间 毫秒的作用:可以对时间和日期进行计算 如:2099-1-3到2088-1-1中间一共有多少天 可以把日期转化成毫秒进行计算,计算完毕之后再把毫秒转化成日期 把日期转化成毫秒: 当前日期: 时间原点:1970年1月1日00:00:00 就是计算当前日期到时间原点之间一共经历了多少毫秒miao blic class demo01Date {
Date类的学习
Date类在java.util包下,用的时候需要进行导包(Ctrl+shift+o),注意一定要与java.sql包下的Date类注意区分,这里导的是util包下的。 类 Date 表示特定的瞬间,精确到毫秒构造方法: public Date()表示分配它的时间(精确到毫秒)。 public Date(long date):创建一个日期对象,指定毫秒值 (需要将long 时间毫秒值转换成D...
java学习笔记:Date类和SimpleDateFormat, Calendar
java学习笔记:Date类和SimpleDateFormat, Calendar Date类和SimpleDateFormat ---- 1.Date类:表示特定的瞬间,精确到毫秒 所属的包:import java.util.Date; 构造方法: Date();//根据当前时间创建的日期对象 Date(long date);//从1970-01-01 00:00:00开始...
Date类学习总结
http://hi.baidu.com/xiaoxiaolq/blog/item/078de3deea3b0a5e95ee37ff.html 1.计算某一月份的最大天数Calendar time=Calendar.getInstance();time.clear();time.set(Calendar.YEAR,year); //year 为 inttime.set(
关于Date类和CregorianCalendar类的学习
首先使用这两个类前,切记import java.util.* The standard Java library contains a Date class. Its objects describe points in time, such as "December 31, 1999, 23:59:59 GMT".Although you dont need to know this wh
JAVA Date类学习总结
Date类学习总结 1.计算某一月份的最大天数 Calendar time=Calendar.getInstance();time.clear();time.set(Calendar.YEAR,year); //year 为 int time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0 int day=time.g...
520



被折叠的 条评论
为什么被折叠?



