java时间日期格式器_JAVA基础类库(二)-----日期、时间类和格式器

Date类

public classDateTest{public static voidmain(String[] args){

Date d1= newDate();//获取当前时间之后100ms的时间

Date d2 = new Date(System.currentTimeMillis() + 10000);

System.out.println(d1);

System.out.println(d2);//比较d1,d2是否相等,相等返回0,大于返回1,小于返回-1.

System.out.println(d1.compareTo(d2));//判断d1在d2之前/之后

System.out.println(d1.before(d2));

System.out.println(d1.after(d2));

}

}

Calendar类

//创建一个默认的Calendar对象

Calendar calenadar =Calendar.getInstance();//从Calendar对象中取出Date对象

Date date =calendar.getTime();//通过Date对象获得对应的Calendar对象

Calendar calendar2 =Calendar.getInstance();

calendar2.setTime(date);

Calendar访问、修改日期时间的方法:

importjava.util.Calendar;//静态导入Calendar类里所有类变量,可以直接使用YEAR、MONTH等

import static java.util.Calendar.*;public classa{public static voidmain(String[] args){

Calendar c=Calendar.getInstance();//取出年、月、日

System.out.println(c.get(YEAR)+" "+c.get(MONTH)+" "+c.get(DATE));//设置年、月、日、小时、分钟、秒

c.set(2003,10,23,12,32,23);//将Calendar的年往前推2年

c.add(YEAR,-2);//与add类似,但不会向上一个字段进位

c.roll(MONTH,3);

}

}

1.设置Calendar的容错性

Calendar cal =Calendar.getInstance();//YEAR+1,MONTH+1

cal.set(MONTH,13);//关闭容错性

cal.setLenient(false);//程序运行异常

cal.set(MONTH,13);

2.set()方法延迟修改

尽管set(f,value)方法的日历字段f是立即修改的,但Calendar的时间不会立即修改,知道下次调用get(),getTime(),getTimeMillis(),add()或roll()时才会修改日历的时间。

Calendar cal =Calendar.getInstance();

cal.set(2003,7,31);//将月份设为9,但9月31日不存在。

cal.set(MONTH,8);//如果立即修改,cal会设为10月1日

System.out.println(cal.getTime());//再设置DATE字段,输出2003-10-5

cal.set(DATE,5);

System.out.println(cal.getTime());//如果不立即修改,cal仅将MONTH修改为9月//System.out.println(cal.getTime());//再设置DATE字段,输出2003-9-5

cal.set(DATE,5);

System.out.println(cal.getTime());

DateFormat格式化日期、时间

getDateInstance():返回一个日期格式器,只有日期,没有时间

getTimeInstance():返回一个时间格式器,只有时间,没有日期

getDateTimeInstance():返回一个时间格式器,既有时间,也有日期

日期样式、时间样式,DateFormat的四个静态常量:FULL、LONG、MEDIUM、SHORT

importjava.text.DateFormat;//静态导入DateFormat类里所有类变量,可以直接使用FULL、LONG、MEDIUM、SHORT等

import static java.text.DateFormat.*;importjava.util.Locale;importjava.util.Date;public classa{public static voidmain(String[] args){

Date dt= newDate();

Locale locale=Locale.CHINA;

DateFormat df1=DateFormat.getDateInstance(FULL,locale);

DateFormat df2=DateFormat.getTimeInstance(FULL,locale);

System.out.println(df1.format(dt));

System.out.println(df2.format(dt));

}

}

DateFormat的parse()方法可以把一个字符串解析成Date对象,但要求被解析的字符串必须符合日期字符串的要求。缺点:不够灵活,为了更好地格式化日期、解析日期字符串,Java提供了SimpleDateFormat类

SimpleDateFormat格式化日期

importjava.text.SimpleDateFormat;importjava.util.Date;importjava.text.ParseException;public classa{public static voidmain(String[] args)throwsParseException{

Date d= newDate();

SimpleDateFormat sdf1= new SimpleDateFormat("Gyyyy年中第D天");//公元2018年中第160天

String dateStr =sdf1.format(d);

String str= "14###3月##21";

SimpleDateFormat sdf2= new SimpleDateFormat("yy###M月##dd");

System.out.println(sdf2.parse(str));

}

}

Java8新增的DateTimeFormatter格式器类

DateTimeFormatter相当于DateFormat和SimpleDateFormat的合体类,功能非常强大

1.使用DateTimeFormatter完成格式化

importjava.time.format.DateTimeFormatter;importjava.time.format.FormatStyle;importjava.time.LocalDateTime;public classa{public static voidmain(String[] args){

DateTimeFormatter[] formatters= newDateTimeFormatter[]{//直接使用常量创建DateTimeFormatter格式器

DateTimeFormatter.ISO_LOCAL_DATE,

DateTimeFormatter.ISO_LOCAL_TIME,

DateTimeFormatter.ISO_LOCAL_DATE_TIME,//使用本地化的不同风格来创建DateTimeFormatter格式器

DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL,FormatStyle.MEDIUM),

DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG),//根据模式字符串来创建DateTimeFormatter格式器

DateTimeFormatter.ofPattern("Gyyyy%%MMM%dd HH:mm:ss")

};

LocalDateTime date=LocalDateTime.now();for(int i = 0 ; i < formatters.length ; i++){//下面两行代码作用相同//System.out.println(date.format(formatters[i]));

System.out.println(formatters[i].format(date));

}

}

}

2.使用DateTimeFormatter解析字符串

importjava.time.format.DateTimeFormatter;importjava.time.LocalDateTime;public classa{public static voidmain(String[] args){

String str1= "2011@@02@@04 01时02分03秒";

DateTimeFormatter formatter1= DateTimeFormatter.ofPattern("yyyy@@MM@@dd HH时mm分ss秒");

LocalDateTime dt1=LocalDateTime.parse(str1,formatter1);

System.out.println(dt1);

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346719.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pyqt 获取 UI 中组件_你想知道的React组件设计模式这里都有(上)

本文梳理了容器与展示组件、高阶组件、render props这三类React组件设计模式往期回顾&#xff1a;HBaseCon Asia 2019 Track 3 概要回顾随着 React 的发展&#xff0c;各种组件设计模式层出不穷。React 官方文档也有不少相关文章&#xff0c;但是组织稍显凌乱&#xff0c;本文就…

jvm上的随机数与熵_向您的JVM添加一些熵

jvm上的随机数与熵能否生成真正的随机数取决于系统中的熵。 有人声称&#xff0c;这可以通过掷骰子来保证。 其他人认为&#xff0c;用此主体替换OpenJDK的java.math.Random.nextInt&#xff08;&#xff09;方法将有所帮助&#xff1a; public int nextInt() {return 14; }资…

typora导出word指定样式_(二)最简洁的Markdowd编辑器:Typora

&#xff08;提醒&#xff1a;前面都是介绍和语法&#xff0c;想下载了就能用的直接看最后总结&#xff09;大家好&#xff0c;半瓶醋同学又来误人子弟了。现在办公文档或者邮件的处理&#xff0c;一般都是用微软的office word或者邮件自带的编辑器。但是用word或者邮件自带编辑…

cc java开发环境搭建_Windows系统下java开发环境搭建

总的来说&#xff0c;开发环境是程序员工作的基础&#xff0c;没了他&#xff0c;IT工作就没得开展了。话不多说&#xff0c;今天提供的教程是Windows系统下Java开发环境的搭建&#xff0c;具体如下1.下载并安装JDK(JAVA Development Kit)JDK是整个java开发的核心&#xff0c;它…

使用数据库中的Java流制作数据透视表

来自数据库行和表的原始数据不能为人类读者提供太多了解。 相反&#xff0c;如果我们对数据执行某种聚合&#xff0c;则人类更有可能看到数据模式 在展示给我们之前。 数据透视表是聚合的一种特定形式&#xff0c;我们可以在其中应用排序&#xff0c;求平均值或求和之类的操作…

java map的keyset_Java Map keySet()用法及代码示例

此方法用于返回此映射中包含的键的Set视图。该集合由Map支持&#xff0c;因此对Map的更改会反映在集合中&#xff0c;反之亦然。用法:Set keySet()参数&#xff1a;此方法没有参数。返回值&#xff1a;此方法返回一个包含指定映射键的集合。下面的程序显示int keySet()方法的实…

asynchttpclient 超时_dnf这才是混子的毕业套装,却发现超时空漩涡不买账!

dnf这才是混子的毕业套装&#xff0c;却发现超时空漩涡不买账&#xff01;按道理来说&#xff0c;光兵和帕拉丁穿这套装备去混团是最好的&#xff0c;结果现在超时空漩涡不要&#xff01;虽然说兵法套是95最好的魂之涛&#xff0c;但是这个混子套属性真心弱爆&#xff0c;不如正…

统计多维数组php_PHP多维数组中统计元素个数

Array([0] > Array([0] > Array([0] > Array([id] > 12[name] > 1)[1] > Array([id] > 28[name] > 2).....)[1] > Array([0] > Array([id] > 121[name] > 2)[1] > Array([id] > 281[name] > 4)...))....)我想统计name对应的值出现…

mongodb web_MongoDB和Web应用程序

mongodb web当今时代是数据以非常大的速度增长的时代。 数据存储不是问题&#xff0c;是的&#xff0c;但是它的结构化和存储方式可能会增加或减少所需数据块的查找时间。 不断增长的非结构化数据的用例 脸书&#xff1a; 活跃用户达7.5亿&#xff0c;互联网用户中有三分之一…

win7亮度怎么调_揭秘极米NEW Z8X投影仪怎么样?千万不要上当?!!!!【揭秘反馈

反馈测评极米NEW Z8X投影仪怎么样?求真实点评注意事项极米NEW Z8X投影仪怎么样?靠谱真实回答 外形外观&#xff1a;简约时尚大气&#xff0c;手感不错&#xff01;\n投影亮度&#xff1a;1080P、4K&#xff0c;都能做到&#xff01;\n投影色彩&#xff1a;非常好&#xff0c;…

php的完整代码块,简单测试了一下php中的代码块、内部类等知识

简单测试了一下php中的代码块、内部类等知识<?php class a{public $b;public function print_result(){//普通代码块&#xff0c;但已经不是java中的代码块{$c变量;echo 普通代码块&#xff1f;;}echo $c;}//错误的语法&#xff0c;Parse error: syntax error, unexpected …

Paw 百度ai_直面落地!百度EasyDL产业智能创新大赛成果覆盖能源、交通、水利民生重业...

物体检测模型实现高压线路隐患检测、图像分类实现短视频快速剪辑和量产、文本情感分类辅助潜在心理疾病患者自发检测、图片识别车辆轮轴数监管车辆载重……每一个创想都能简单快速实现&#xff0c;没有AI开发基础的小伙伴们也能做到&#xff01;这一切都缘于百度零门槛AI开发平…

Java 9、10及更高版本:Java平台的未来

您紧跟Java平台新功能的秘密武器 自去年9月发布Java 9以来&#xff0c;感觉整个平台都经历了重大变化。 在我们甚至无法确定Java 9所能提供的一切之前&#xff0c;我们已经在标记Java 10的发布。现在&#xff0c;我们已经开始期待Java 11在2018年9月发布。 Oracle决定为Java平…

php同时抢购 代码,浅谈PHP实现大流量下抢购方案

要求要有小时分钟秒的实时倒计时的显示&#xff0c;用户端修改日期时间不会影响到倒计时的正常显示(也就是以服务器时间为准)。其实这和很多的考试等系统的时间限制功能同样的要求。总不能用ajax每秒都获取服务器时间吧&#xff0c;所以实时倒计时一定要用javascript实现。这很…

c fread 快读 详解_奔驰ACC(自适应巡航系统)详解

什么是ACC自适应巡航&#xff1f;ACC自适应巡航( Adaptive Cruise Control )&#xff0c;又可称为智能巡航控制系统&#xff0c;简称ACC系统&#xff0c;它是在传统巡航控制基础上发展起来的新一代汽车驾驶员辅助驾驶系统。它将汽车自动巡航控制系统CCS 和车辆前向撞击报警系统…

php使用邮件找回密码,php利用Zend_Mail发送邮件(实现邮件重设密码功能)

[php]代码库<?php include_once conn/conn.php;require_once Zend/Mail.php;//调用发送邮件的文件require_once Zend/Mail/Transport/Smtp.php;//调用SMTP验证文件$reback 0;$name $_GET[foundname];$question $_GET[question];$answer $_GET[answer];$sql "sele…

_Linux 最常用命令整理,建议收藏!

Linux是目前应用最广泛的服务器操作系统&#xff0c;基于Unix&#xff0c;开源免费&#xff0c;由于系统的稳定性和安全性&#xff0c;市场占有率很高&#xff0c;几乎成为程序代码运行的最佳系统环境。linux不仅可以长时间的运行我们编写的程序代码&#xff0c;还可以安装在各…

openjdk 使用_如何在OpenJDK中使用ECC

openjdk 使用曾经试图在Java和OpenJDK中使用椭圆曲线密码术 &#xff08;ECC&#xff09;的每个人要么被迫使用Bouncy Castle&#xff0c;要么被SunEC提供者弄糊涂了 。 SunEC提供程序根据文档 &#xff08;报价&#xff09;提供以下算法&#xff1a; AlgorithmParameters 欧…

bpcs uploader.php,linux 备份定时同步到百度云盘

导读&#xff1a;现在的百度云盘免费容量都是2T了&#xff0c;即便把电脑上全部的东东都放上去&#xff0c;也还有大把的剩余空间。对于站长来讲&#xff0c;是彻底能够充分利用这些硬盘空间的&#xff0c;如今咱们就用百度云盘来备份Linux服务器上的数据。php一直在想&#xf…

hadoop可以解决什么问题_快速解决皮带机轴磨损问题可以这样做

皮带机是皮带输送机的简称&#xff0c;皮带机运用输送带的连续或间歇运动来输送各种轻重不同的物品&#xff0c;既可输送各种散料&#xff0c;也可输送各种纸箱、包装袋等单件重量不大的件货&#xff0c;用途广泛。皮带机运行时轴磨损是一个很常见的设备问题&#xff0c;某企业…