当前位置: 首页 > news >正文

福建交科建设有限公司官方网站网站页面大小优化怎么做

福建交科建设有限公司官方网站,网站页面大小优化怎么做,外贸网站有哪些,做做做网站使用Java SE 8新的DateTime API JSR 310…可以实现更清晰#xff0c;可读且功能强大的编码。 Java SE 8#xff0c;JSR 310 在上一篇文章“ 使用Streams API处理集合 ”中#xff1b; 我已深入探讨和探索如何使用流遍历集合#xff0c;如何从集合和数组创建流以及最终汇总… 使用Java SE 8新的DateTime API JSR 310…可以实现更清晰可读且功能强大的编码。 Java SE 8JSR 310 在上一篇文章“ 使用Streams API处理集合 ”中 我已深入探讨和探索如何使用流遍历集合如何从集合和数组创建流以及最终汇总流值。在“ Java SE 8新功能导览”系列的这篇文章中我们将深入探讨解释并探索JSR 310规范的代码包括如何使用新的DateTime API计算时间跨度如何使用Instant和Duration来计算时间跨度表示日期和时间值格式化日期和时间值以及支持时区偏移量。 源代码托管在我的Github帐户上从此处克隆它。 表中的内容 使用“即时”和“持续时间”计算时间跨度。 代表日期和时间值。 格式化日期和时间值。 支持时区偏移。 1-用即时和持续时间计算时间跨度 介绍 Java SE 8包括一个用于管理日期和时间值的全新API。 在此新API中实际保存数据的类都是不可变的并且是线程安全的 。 因此这意味着您不必担心在多线程环境中传递对象。 而且如果您在并行流中使用它们那么一切都将始终正常运行。 这个新API中的所有类都是包java.time成员。 我将从命名为Instant和Duration两个核心类开始。 怎么运行的 我将从eg.com.tm.java8.features.datetime.InstDuration项目的Java8Features包中的示例开始。 在名为InstantAndDuration的类代码中。 然后将所有这些代码放入main方法中。 我将描述的第一堂课称为Instant 。 我将输入类的名称然后按Ctrl Space 然后从java.time包中选择该类并将其导入上方。 即时对象表示Java时间轴上的即时。 就像日期类是管理日期和时间的旧方法的一部分一样实例代表了毫秒数。 从1970年1月1日Java时代开始。要声明一个即时对象我将使用其类型对其进行声明并将其命名为start。 然后我将调用即时类的静态方法now() 。 这代表了当前机​​器上调用代码的时刻。 然后我将使用标准系统输出将该值作为字符串输出。 运行代码您将看到输出开始于以年月日期格式的日期然后是字母T之后的时间。 结果 2016-08-05T21:21:59.601Z 一旦有时间您可以使用它来计算该时间与另一个时间之间的差异。 因此我将创建另一个瞬间称为结束。 我也会从now()方法中获得它的价值。 然后我将使用系统输出并输出该值。 请注意两个值之间存在细微差别这就是我的系统所花费的时间。 要处理这一行代码即输出起始值。 结果 2016-08-05T21:33:55.971Z 2016-08-05T21:33:56.048Z 如果我要将那行代码向下移动那么在两次调用now方法之间没有进行任何其他处理则这两个值将是相同的或者可能相差千分之一秒。 结果 2016-08-05T21:34:43.365Z 2016-08-05T21:34:43.365Z 现在我将向您展示如何计算这两个值之间的差。 当您将两个瞬间相互比较时您会得到一个称为持续时间的对象。 它由Duration类表示该类也是Java.time的成员。 我将这个对象命名为过去。 我将调用持续时间类的静态方法 between(Temporal startInclusive, Temporal endExclusive)称为between(Temporal startInclusive, Temporal endExclusive) 。 注意它正在寻找类型为Temporal对象。 Instant类是Temporal的子类。 结果 Elapsed: PT0S 我将以两个时间值作为起点和终点。 然后我将输出差异。 我将传递过去的文字标签然后传递变量。 该持续时间对象以字母p开头然后以t开头。 这也是ISO格式的值。 然后它告诉我零秒。 好吧让我们看看如果我们调用sleep方法会发生什么。 我将光标放在开始和结束调用之间。 我将使用Thread类。 我将按点号然后按Ctrl Space 。 然后我将调用sleep()方法并传递一个1,000的值。 意思是睡一秒钟。 sleep方法可能会引发错误因此我将使用快速修复方法并在主方法签名中添加throws声明。 我将保存并运行代码现在我的经过时间为1.001秒。 您永远无法真正指望确切的事情这完全取决于正在处理的计算机上发生的事情。 结果 Elapsed: PT1.001S 接下来我将进行此打印线调用并将其移回其原始位置。 因此现在在获得起始值之后我将执行打印线命令。 我要睡一秒钟。 我将运行代码。 现在我的经过时间为1.057秒。 结果 2016-08-05T22:28:42.685Z 2016-08-05T22:28:43.769Z Elapsed: PT1.084S 为了使它更具可读性我将使用elapsed.to millis向duration对象的方法添加一个调用。 也就是说获得毫秒数等效值。 我将以毫秒为单位追加代码然后运行代码。 结果 2016-08-05T22:32:52.657Z 2016-08-05T22:32:53.731Z Elapsed: 1074 milliseconds 结论 现在我看到的可读值为1,054毫秒。 因此这就是Instant类和Duration类。 Java SE 8中的两个核心类新的日期时间API。 2-表示日期和时间值 介绍 之前我描述了如何在新的日期时间API中使用Instant类来表示Java时间轴中的时刻。 这是另外三个有用的类分别代表日期和时间的一部分。 它们称为本地日期 本地时间和本地日期时间 。 例如假设您只想表示一个日期值。 并且您不在乎时间秒或毫秒而只关心当前日期。 创建一个名为LocalDate的类的实例。 运作方式 我正在使用eg.com.tm.java8.features.datetime.localdt项目的Java8Features包。 在名为LocalDateAndTime的类代码中。 主要方法 我将从类LocalDate的名称开始。 当我按Ctrl Space时 我将从java.time包中选择类。 我将对象命名为currentDate并通过localDate.now获得其值。 请注意在处理即时日期时间和日期时间之间语法上存在一致性。 要在当前计算机上获取当前值请始终使用now方法。 现在我将以默认格式输出该日期。 我将保存并运行代码并以年-月-日格式显示日期 。 结果 2016-08-06 您还可以使用特定的年份月份和日期值创建日期对象。 再一次我将创建一个类型为LocalDate的对象。 我将其命名为一个specificDate 。 要获取此值请调用LocalDate.of 。 并且有几个可用的版本。 我将使用带有三个整数值的那个。 它们没有在文档中命名但是它们代表年月和日。 我将修补2,000、1和1的值。现在在较早版本的date time API中使用date类。 当您处理几个月时您总是必须将偏移量设置为0。 因此对于一月您将使用0对于二月1等等。 这并不是特别直观。 在新的日间时间API中所有内容均基于1。 因此1表示一月 2表示二月 依此类推。 就像您通常期望的那样。 我将再次使用系统输出这次我将放置新的特定日期。 保存并运行后我得到的价值是2000年1月1日输入的。 结果 2016-01-01 如果您只想表示一个时间值请使用LocalTime类我将键入该类的名称并将其导入将其命名为currentTime对象然后从LocalTime.now获取其值。 同样使用与localdate和Instant相同的语法。 然后我将使用系统输出。 我将输出当前时间。 时间的默认值是24小时表示法它显示小时分钟秒和毫秒。 结果 01:18:11.779 我将使用LocalTime 。 我将其命名为specificTime 。 而且同样与当地的日期类我会打电话叫方法of 。 同样有许多不同的版本采用不同数量的参数。 我将使用寻找三个整数值的版本并输入14、0和45。然后将该值输出到控制台。 结果就来了。 14、00和45秒。 请注意由于我没有提供毫秒值因此该时间的格式化版本在点后不显示值。 结果 14:00:45 最后我将展示如何使用LocalDateTime类。 我将输入类的名称并将其导入。 我将此对象命名为currentDT 。 我将从LocalDateTime.now获得它的值。 输出日期时间值时将获得长格式的ISO日期时间。 从日期开始到时间结束。 并且如果值中包含毫秒则将显示它们。 最后我将创建一个特定的日期和时间并将其与特定的日期和时间结合起来。 该代码将类似于下一个代码。 我将创建一个LocalDateTime对象。 我将其命名为specificDT然后再次调用LocalDateTime.of 。 这次我将使用该方法的第一个版本该版本接受本地日期对象和本地时间对象。 您还可以根据年份月份日期和时间值的组合来构造日期时间值。 我将输入具体的日期和时间。 然后将其输出到控制台。 当我运行该代码时我的特定日期时间是我的特定日期和时间的组合。 结果 2016-08-06T01:30:46.625 2016-01-01T14:00:45 结论 因此可以使用这三个类来表示当前时区中本地计算机上的日期和时间值。 您还可以使用一些类来获取时区敏感值。 接下来我将描述这些。 3-格式化日期和时间值 介绍 前面已经描述了如何使用LocalDate LocalTime和LocalDateTime类表示时间值。 要将这些信息呈现给用户您需要对其进行格式化。 为此有一个名为DateTimeFormatter的新类。 我将向您展示如何使用一些简单的语法创建格式化程序。 然后如何使用称为Daytime Formatter Builder的类完成非常自定义的工作。 怎么运行的 我正在使用eg.com.tm.java8.features.datetime.format项目的Java8Features 。 在名为DateTimeFormater的类代码中。 主要方法 首先我将创建一个日期。 我给它一种LocalDate 确保导入该类。 我将其命名为currentDate 。 我将从LocalDate.now获得它的价值。 接下来我将创建一个格式化程序对象。 我将输入类的名称DateTimeFormatter 然后从java.time.format包中选择它。 我将此对象命名为df 。 现在有多种创建格式化程序的方法。 最简单的方法之一是使用DateTmeFormatter类的常量。 我将再次输入DateTimeFormatter 。 然后输入句点后我会看到所有可用常量的列表。 我将选择ISO Date 。 这将为此对象提供默认格式。 然后我将使用系统输出。 我将调用格式化对象的format方法并传递date对象。 这就是结果。 我正在以年份月份日期格式输出值。 月份和日期分别填充为两个字符。 现在您可以使用时间和日期时间来做同样的事情。 结果 2016-08-06 我将使用上面的代码并将其重复几次然后进行一些更改。 在第二个版本中我将类型从本地日期更改为本地时间。 当前时间的对象名称以及我用来获取本地时间值的类的名称。 我将日期时间格式化程序的名称从DF更改为TF以进行时间格式化程序。 然后将使用的常量更改为ISO Time 。 然后我将更改要格式化的对象。 我将确保导入LocalTime类。 然后我将对第三个版本进行类似的更改。 我这次要使用的类是LocalDateTime 。 我一定会导入它。 我将此对象命名为当前DT。 然后我将更改从其调用now方法的类。 我将DateTimeFormatter的格式化程序更改为DTF。 然后将常数更改为ISO日期时间。 然后我将格式化当前的DT对象。 我将确保在每个版本的代码中都使用正确的格式化程序。 我将保存更改然后运行代码。 并且有三个格式化的值。 到目前为止我还没有真正做到那么多因为我使用了代表默认格式的常量。 但是让我们看一下一些可用的自定义格式。 结果 2016-08-09 20:37:11.535 2016-08-09T20:37:11.538 我下移到现有代码的下方。 然后我将创建另一个DateTimeFormatter 将其命名为长日期格式的f_long 然后通过调用DateTimeFormatter类的一种称为Localized Date的方法来获取其值。 请注意存在用于日期时间和日期时间的方法并带有各种参数。 我将选择一个本地化日期并传入一个名为FormatStyle的类的常量。 确保导入此类。 然后键入句点后您将看到有四个可用常数。 完整长中和短。 我将选择长版本然后通过调用F _ long.format输出格式化的日期然后传入当前的DT对象。 当我运行此代码时会得到该日期的长版本。 结果 August 9, 2016 我将通过复制这两行代码向您展示该版本的另一个版本对于该版本我将格式器名称更改为f_short还将使用的常量也更改为short。 然后我将更改正在调用的格式化程序的名称。 因此长版本是阐明的月份名称。 日期后的逗号然后是四位数字的年份以及至少对于当前语言环境而言是短版的逗号是月份和日期不带填充并使用斜杠分隔值和两个字符的年份。 结果 8/9/16 接下来我将向您展示如何使用语言环境。 我将创建几个字符串。 第一个缩写为fr_ short法语采用短格式。 为了获得该值我将调用f_short格式化程序然后将使用withLocal()调用方法名称。 为了获得语言环境值我将使用Local类这是Java的早期版本中可用的现有类。 它是程序包Java.util的成员。 然后我可以调用代表各种语言环境的众多常量之一。 我会用法语。 然后从那里我将调用format方法并传入当前日期时间。 我将复制该行代码对于该版本我将使用fr_long。 我将使用长格式程序否则代码将相同。 然后我将输出这两个值fr_short和fr_long 。 这就是结果。 注意对于fr_short月份和日期与美国版本相反。 那是因为在欧洲日期是第一个陈述的然后是月份然后是年份。 当我使用长版本时我得到的月份是法文拼写的。 结果 09/08/16 9 août 2016 最后我将向您展示如何使用称为日期时间格式化程序构建器的类来构建完全自定义格式化程序。 它使用构建器设计模式您可以在其中调用多个方法每个方法都返回当前构建器的一个实例。 我将输入类的名称并确保已将其导入。 我将对象命名为b。 我将使用new关键字和构造方法将其实例化。 现在在该代码的末尾我将不会放入分号因为我想立即调用一系列让我从头开始构建格式化程序的方法。 我将从名为Append Value的方法开始。 请注意有附加即时附加文字附加本地化等许多其他功能。 我将调用一个名为appendValue()的方法该方法接受一个名为TemporalField的类的实例然后使用一个名为ChronoField的枚举ChronoField 。 这是从该TemporalField扩展的。 从那里开始我将使用一年中月份的常量名称。 接下来我将附加一个文字值。 这可以是任何字符或任何字符串。 为了使它变得完全独特我将添加几个竖线字符。 现在我将使用这两行代码并将其复制为第二个版本而不是一年中的月份。 我会输入一个月中的某天。 请注意还有星期几和一年中的某天。 然后我将复制该行代码并将其向下移动。 然后用ChronoField.year完成表达式。 一旦创建了构建器对象就可以获取格式化程序。 我将创建一个新对象其类型为DateTimeFormatter 。 我将其命名为Formatter f 。 然后将其称为构建器对象以格式化程序的方法最后我将格式化当前日期时间值。 我将使用系统输出并调用f.format() 并传入currentDT 。 现在当我运行代码时我得到了完全自定义的格式。 结果 222||9||2016 结论 您可以使用DateTimeFormatter构建器构建所需的任何格式。 并且由于它使用了构建器设计模式因此易于创建和维护代码。 4-支持时区偏移量 介绍 新的日期时间API提供了许多类可让您管理时区 。 创建从格林威治时间偏移通过一定的小时数 或者通过特定位置白天对象计算时区之间的差异 。 怎么运行的 我正在使用eg.com.tm.java8.features.datetime.zone项目的Java8Features包。 在名为TimeZones的类代码中。 main方法 在其主要方法中我创建了一个DateTimeFormatter和一个LocalDateTime对象。 LocalDateTime代表我的系统上当前时区中的当前日期和时间 。 那就是埃及时间因为我在中东。 然后我将格式化的值输出到控制台。 我正在使用短格式输出值。 在埃及符号中它是月日和年。 结果 8/9/16 10:22 PM 为了表示基于时区的日期时间值请使用ZonedDateTime类。 就像LocalDateTime一样它是不可变的并且是线程安全的。 我将输入类的名称然后按Control Space来添加import语句。 我将对象gmt命名为格林威治标准时间。 创建此对象有几种不同的方法。 我将向您展示如何创建计算格林威治标准时间的偏移量的对象。 我将再次使用ZonedDateTime类并在键入句点后将看到有许多可用的方法。 我可以再次调用now() 以获取我所在区域的日期时间值。 我可以调用允许进行各种计算的of()方法。 我可以解析字符串但是我将使用此版本的now方法。 我将传递ZoneId类的实例。 ZoneId表示从格林威治标准时间偏移一定小时数。 我将通过调用名为ZoneId.of()的方法来获得该值。 然后我将传递一个文字字符串“ GMT 0” 。 这就是说请向我显示格林威治标准时间的当前日期和时间值。 现在我将复制将值输出到控制台的代码。 我将其向下移动并将此版本更改为输出gmt。 我将运行代码并得到结果。 结果 8/9/16 8:28 PM 我在中东埃及现在格林威治标准时间要提前两个小时。 这是获取ZonedDateTime另一种方法。 假设您想在纽约获得ZoneDateTime。 有许多内置的字符串或常量它们可以让您命名特定的位置并且您将获得该位置的正确ZoneId 而您不必自己担心数学。 我将创建另一个ZonedDateTime对象这次我将其命名为ny代表纽约并且我将通过调用ZonedDateTime.now()获得它的值然后再次传递Z oneId.of() 但这一次我要传递一串America / New_York 。 确保完全按照您在此处看到的字符串进行拼写 。 我将创建一行代码以输出该值。 我将保存更改然后运行它。 纽约是美国东海岸时间比太平洋时间早三小时。 结果 8/9/16 4:36 PM 要找出所有可用的字符串可以调用ZoneId类的方法称为getAvailableZoneIds() 。 您将获得一套。 我将输入Set并按Control Space 然后从Java.util选择set。 然后将其中的项目的通用类型设置为String 。 我叫设置区。 然后我将调用方法ZoneId.getAvailableZoneIds 。 然后我将使用forEach()方法遍历字符串。 然后我将传递Lambda表达式。 因此我可以依次处理每个项目。 结果 运行该代码时我会看到所有可用的字符串。 Asia/Aden America/Cuiaba Etc/GMT9 Etc/GMT8 Africa/Nairobi America/Marigot Asia/Aqtau Pacific/Kwajalein America/El_Salvador Asia/Pontianak Africa/Cairo Pacific/Pago_Pago Africa/Mbabane Asia/Kuching Pacific/Honolulu Pacific/Rarotonga America/Guatemala Australia/Hobart Europe/London America/Belize America/Panama Asia/Chungking America/Managua America/Indiana/Petersburg Asia/Yerevan Europe/Brussels GMT Europe/Warsaw America/Chicago Asia/Kashgar Chile/Continental Pacific/Yap CET Etc/GMT-1 Etc/GMT-0 Europe/Jersey America/Tegucigalpa Etc/GMT-5 Europe/Istanbul America/Eirunepe Etc/GMT-4 America/Miquelon Etc/GMT-3 Europe/Luxembourg Etc/GMT-2 Etc/GMT-9 America/Argentina/Catamarca Etc/GMT-8 Etc/GMT-7 ................. 现在有太多东西可能很难找到想要的那个。 假设我想寻找伦敦 。 并在一年中的特定时间为该特定位置使用时区。 正如我在本文前面所展示的我可以使用predicate来搜索字符串。 我将创建一个谓词对象。 然后将通用类型设置为String 。 我将命名对象条件。 然后我将使用lambda表达式实现谓词。 我将传入str然后使用条件实现该谓词。 str。包含我将经过一系列伦敦。 然后我将重构我的Lamba表达式。 我将用大括号将System.out.println()包装起来。 然后我将扩展代码以使其更易于使用。 我将在打印行的末尾添加分号然后创建一个if语句。 然后将条件设置为condition.test() 并在z传递当前区域。 我将把p rintln()语句移到条件内现在只打印与谓词测试匹配的字符串。 我将保存更改并运行代码并得到结果。 我发现伦敦的正确字符串是 结果 Europe/London 结论 因此这与处理时区有关。 同样使用ZonedDateTime类而不是LocalDateTime表示可以修改和计算的值。 ZoneId表示与格林威治标准时间的偏移量。 还有一个名为“区域偏移”的类您可以用来计算彼此之间的不同时区。 资源 Java教程线索日期时间 LocalDate API JSR 310日期和时间API JSR 337Java SE 8发行内容 OpenJDK网站 Java平台标准版8API规范 我希望您喜欢阅读它就像我喜欢编写它一样如果您喜欢它请分享传播信息。 翻译自: https://www.javacodegeeks.com/2016/08/java-se-8-new-features-tour-calculating-timespans-new-datetime-api.html
http://www.zqtcl.cn/news/750386/

相关文章:

  • 邯郸网站建设渠道免费做全网解析电影网站赚钱
  • 中铁中基建设集团网站东莞网络优化哪家公司好
  • wordpress免费建站合肥关键词网站排名
  • 中铁建设集团门户网登录网站自己可以建设环保公益网站吗
  • 国内电子商务网站有哪些网站升级中html
  • 影响网站加载速度顺德做网站那家好
  • 如何备份网站的百度怎样建立网站
  • 如何建立网站视频教程湖北seo关键词排名优化软件
  • 南宁网站建设推荐q479185700顶上新公司网站建设流程
  • 石家庄城乡建设局网站四川网络营销
  • 网站更换名称需要重新备案吗赣州章贡区二手房出售信息
  • 浙江恒元建设网站wordpress 主题 英文
  • 甘肃网站建设推广做暧昧免费视频大全网站
  • 科技公司网站系统个人网站模板大全
  • 建网站源码建站详解做加油机公司网站
  • 北海做网站有哪家网站布局策划案
  • 做app网站的软件有哪些内容吗本地网站建设公司
  • 做服装团购有哪些网站有哪些网页端二维码在哪里
  • 石材网站建设方案科室建设网站
  • 梧州住房和建设局网站网站目录文件
  • 有没有做生鲜配送的网站wordpress调用摘要
  • 建设社团网站的可行性分析沈阳网站建设企业
  • 青岛知名网站建设公司优化大师有必要花钱吗
  • pc网站做app京东海淀区
  • 效果好的网站建设公萝岗企业网站建设
  • wordpress个人展示网站6新西兰网站后缀
  • 为什么自己做的网站别人打不开三门峡市湖滨区建设局网站
  • 长春网长春网站建设络推广工程建设国家标准网站
  • 微网站开发 mui框架网站备案幕布拍照是什么
  • 北京天通苑 做网站西安百度网站建设