日期相关类
1.Date类
在标准Java类库中包含一个Date类,它的对象表示一个特定的瞬间,精确到毫秒。在网上商城下单时,在对报销单进行审核时,都需要获取当前的时间,通过Date类就可以完成。
例子:Date类的使用
package li.normalclass.date; import java.util.Date; public class TestDate { public static void main(String[] args) { //获取当前的时间 格式为 yyyyMMddhhmmss Date date = new Date();//相当于new Date(System.currentTimeMillis()) //操作当前的时间 System.out.println(date.toString());//Sat Aug 06 19:15:28 CST 2022 System.out.println(date.toLocaleString());//2022-8-6 19:16:06 System.out.println(System.currentTimeMillis());//计算从1970年1月1日 0:00:00到目前为止的毫秒数 System.out.println(date.getYear());//122 =2022-1900 System.out.println(date.getMonth());//7 0-11 现在是八月 System.out.println(date.getDate());//6 日 System.out.println(date.getDay());//6 当前为星期六 注:星期日为0 System.out.println(date.getHours());//19 当前为19点 System.out.println(date.getMinutes());//26 当前为26分 System.out.println(date.getSeconds());//16 当前为16秒 System.out.println(date.getTime());//1659785176358 计算从1970年1月1日 0:00:00到目前为止的毫秒数 //获取当前的时间 格式为 yyyyMMdd java.sql.Date sdate = new java.sql.Date(System.currentTimeMillis()); System.out.println(sdate.toString());//2022-08-06 java.sql.Date sdate2 = java.sql.Date.valueOf("1896-9-10"); System.out.println(sdate2.toString());//1896-09-10 } }
查看API文档大家可以看到其实Date类中的很多方法已经过时了。JDK1.1之前的Date包含了日期操作、字符串转化为对象等操作。经过JDK1.1之后,日期操作类一般使用Calendar类,而字符串的转化 使用DateFormat类。
2.DateFormat类
Format:格式
DateFormat是一个抽象类,一般使用它的子类SimpleDateFormat类来实现。主要作用就是把时间对象转化为指定格式的字符串。反之,就是把指定格式的字符串转化为时间对象。
字符串----->日期
日期----->字符串
例子:
package li.normalclass.date; import java.text.*; import java.util.Date; /** * 主要操作: * DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//指定识别的格式 * * Date date = sdf.parse(strdate);//将字符串转换成日期 * * String strdate2 = sdf.format(date);//将日期转换成字符串 */ public class TestDateFormat { public static void main(String[] args) throws ParseException { String strdate = "1999-12-23 12:12:12";//字符串 //String---->Date //DateFormat是抽象类,要实例化只能引用它的子类SimpleDateFormat DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//指定识别的格式 Date date = sdf.parse(strdate);//将字符串转换成日期 String strdate2 = sdf.format(date);//将日期转换成字符串 System.out.println(strdate2); } }
3.Calendar类
Calendar:日历
例子:
package li.normalclass.date; import java.util.Calendar; import java.util.GregorianCalendar; public class TestCalendar { public static void main(String[] args) { //获取当前的时间 Calendar cal = new GregorianCalendar(); // 输出当前的时间 System.out.println(cal); //java.util.GregorianCalendar[time=1659791839017,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=31,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2022,MONTH=7,WEEK_OF_YEAR=32,WEEK_OF_MONTH=1,DAY_OF_MONTH=6,DAY_OF_YEAR=218,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=9,HOUR_OF_DAY=21,MINUTE=17,SECOND=19,MILLISECOND=17,ZONE_OFFSET=28800000,DST_OFFSET=0] System.out.println(cal.get(Calendar.YEAR));//2022 System.out.println(cal.get(Calendar.MONTH));//7 0~11 7代表8月 System.out.println(cal.get(Calendar.DATE));//6 代表6号 System.out.println(cal.get(Calendar.DAY_OF_WEEK));//7 代表周六 从周日为1开始计算一周 //改变时间 cal.set(Calendar.DATE,1);//直接指定日期 1号 cal.set(Calendar.MONTH,1);//直接指定月数 2月 cal.add(Calendar.DATE,2);//在设置的日期上再加上两天 System.out.println(cal.get(Calendar.YEAR));//2022 -- 22年 System.out.println(cal.get(Calendar.MONTH));//1 -- 2月 System.out.println(cal.get(Calendar.DATE));//3 -- 3号 System.out.println(cal.get(Calendar.DAY_OF_WEEK));//5 -- 周四 System.out.println(cal.getActualMaximum(Calendar.DATE));//28 -- 指定月一共有多少天 } }
以上是Java日期类的常见用法的详细内容。更多信息请关注PHP中文网其他相关文章!

类加载器通过统一的类文件格式、动态加载、双亲委派模型和平台无关的字节码,确保Java程序在不同平台上的一致性和兼容性,实现平台独立性。

Java编译器生成的代码是平台无关的,但最终执行的代码是平台特定的。1.Java源代码编译成平台无关的字节码。2.JVM将字节码转换为特定平台的机器码,确保跨平台运行但性能可能不同。

多线程在现代编程中重要,因为它能提高程序的响应性和资源利用率,并处理复杂的并发任务。JVM通过线程映射、调度机制和同步锁机制,在不同操作系统上确保多线程的一致性和高效性。

Java的平台独立性是指编写的代码可以在任何安装了JVM的平台上运行,无需修改。1)Java源代码编译成字节码,2)字节码由JVM解释执行,3)JVM提供内存管理和垃圾回收功能,确保程序在不同操作系统上运行。

Javaapplicationscanindeedencounterplatform-specificissuesdespitetheJVM'sabstraction.Reasonsinclude:1)Nativecodeandlibraries,2)Operatingsystemdifferences,3)JVMimplementationvariations,and4)Hardwaredependencies.Tomitigatethese,developersshould:1)Conduc

云计算显着提升了Java的平台独立性。 1)Java代码编译为字节码,由JVM在不同操作系统上执行,确保跨平台运行。 2)使用Docker和Kubernetes部署Java应用,提高可移植性和可扩展性。

Java'splatformindependenceallowsdeveloperstowritecodeonceandrunitonanydeviceorOSwithaJVM.Thisisachievedthroughcompilingtobytecode,whichtheJVMinterpretsorcompilesatruntime.ThisfeaturehassignificantlyboostedJava'sadoptionduetocross-platformdeployment,s

容器化技术如Docker增强而非替代Java的平台独立性。1)确保跨环境的一致性,2)管理依赖性,包括特定JVM版本,3)简化部署过程,使Java应用更具适应性和易管理性。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!