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

网站加速代码促销活动推广语言

网站加速代码,促销活动推广语言,如何做网站产品经理,.net 网站 源代码一、Date(已经淘汰) 1.获取当前时间 Date date new Date(); //第一种获取当前时间的方式 //输出日期 SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd"); String format sdf.format(date);//当前时间 2023-12-29 //输出日期时分秒 SimpleDateFormat sdfe…

一、Date(已经淘汰)

 1.获取当前时间

Date date = new Date();
//第一种获取当前时间的方式
//输出日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String format = sdf.format(date);//当前时间 2023-12-29
//输出日期时分秒
SimpleDateFormat sdfe = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formatt = sdfe.format(date);//当前时间 2023-12-29 14:26//第二种获取当前时间的方式
String formatDate = DateUtil.getDateTime("yyyy-MM-dd",date); //当前时间 2023-12-29

 2.弊端

2.1 可读性差,需要进行格式转换
Tue Sep 10 09:34:04 CST 2019
2.2 线程不安全

在对Date使用SimpleDateFormat进行日期时间格式化时,SimpleDateFormat是线程不安全的,在高并发高负载的情况下使用,极容易引发线程安全性问题

多线程并发如何保证线程安全

避免线程之间共享一个SimpleDateFormat对象,每个线程使用时都创建一次SimpleDateFormat对象(问题:创建和销毁对象时大量内存资源开销)
对使用format和parse方法的地方进行加锁(问题:线程阻塞性能差)
使用ThreadLocal保证每个线程最多只创建一次SimpleDateFormat对象,属于较好的方法。

2.3 Date对时间处理比较麻烦

比如想获取某年、某月、某星期,以及n天以后的时间,使用Date来处理的话会特别麻烦,Date类的getYear、getMonth这些方法都被JDK弃用了。

二、Calendar(不推荐)

Calendar(日历)类,主要的功能是用来日期字段间的操作,更像是对Date类的增强。里面有许多的方法,可以获取当前年份、月份、日期等等的

Calendar calendar = Calendar.getInstance();
System.out.println("年:" + calendar.get(Calendar.YEAR));//年:2023
// 初始月份是从0开始
System.out.println("月:" + (calendar.get(Calendar.MONTH)+1));//月:10
System.out.println("日:" + calendar.get(Calendar.DATE));//日:12
System.out.println("小时:" + calendar.get(Calendar.HOUR_OF_DAY));//小时:23
System.out.println("分钟:" + calendar.get(Calendar.MINUTE));//分钟:0
System.out.println("秒:" + calendar.get(Calendar.SECOND));//秒:36
System.out.println("毫秒:" + calendar.get(Calendar.MILLISECOND));//毫秒:534
System.out.println("今年的第几个星期:" + calendar.get(Calendar.WEEK_OF_YEAR));//今年的第几个星期:41
System.out.println("这个月的第几个星期:" + calendar.get(Calendar.WEEK_OF_MONTH));//这个月的第几个星期:2
System.out.println("今年的第几天:" + calendar.get(Calendar.DAY_OF_YEAR));//今年的第几天:285
System.out.println("这个月的第几天:" + calendar.get(Calendar.DAY_OF_MONTH));//这个月的第几天:12
System.out.println("这个星期的第几天:" + calendar.get(Calendar.DAY_OF_WEEK));//这个星期的第几天:5

三、System.currentTimeMillis()

SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss z"); // 改变格式
Date date = new Date(System.currentTimeMillis()); // 返回当前时间戳格式
System.out.println(formatter.format(date)); // 获取当前时间

四、LocalDate、LocalTime、LocalDateTime

JDK1.8版本中新引入的API,加强了对时间的管理,有很多特别好用的时间运算方法,而且是线程安全的。

LocalDate:年月日

LocalTime:时分秒

LocalDateTime:年月日时分秒

1.获取当前时间LocalDate.now()

    @Testvoid test() {LocalDate localDate = LocalDate.now();LocalTime localTime = LocalTime.now();LocalDateTime localDateTime = LocalDateTime.now();System.out.println("localDate:"+localDate);//2023-02-22System.out.println("localTime:"+localTime);//17:25:36.590System.out.println("localDateTime:"+localDateTime);//2023-02-22T17:25:36.590}

 可以看到不用做格式转换就可以得到可读性很高的日期格式

注意:ISO 8601规定的日期和时间分隔符是T。标准格式如下

日期:yyyy-MM-dd
时间:HH:mm:ss
带毫秒的时间:HH:mm:ss.SSS
日期和时间:yyyy-MM-dd'T'HH:mm:ss
带毫秒的日期和时间:yyyy-MM-dd'T'HH:mm:ss.SSS

2. 获取当前时间的年、月、日、时分秒localDateTime.getYear()……

    @Testvoid test() {LocalDateTime localDateTime = LocalDateTime.now(); // 获取当前时间int year = localDateTime.getYear(); // 获取年份 2023int month = localDateTime.getMonthValue(); // 获取月份 2int day = localDateTime.getDayOfMonth(); // 获取月中的天数 22int hour = localDateTime.getHour(); // 获取当前的小时 17int minute = localDateTime.getMinute(); // 获取当前分钟 33int second = localDateTime.getSecond(); // 获取当前秒数 22System.out.println(year);System.out.println(month);System.out.println(day);System.out.println(hour);System.out.println(minute);System.out.println(second);}

3. 给LocalDateTime赋值LocalDateTime.of()

    void test() {LocalDateTime of = LocalDateTime.of(2023,2,22,22,22,22);System.out.println(of); // 输出2023-02-22T22:22:22}

4.时间与字符串相互转换

    @Testvoid test() {// 将字符串转换为指定格式的时间(格式要和给定的格式一致,不然会报错)LocalDateTime parse = LocalDateTime.parse("2023-02-22 22:22:22", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));LocalDateTime parse1 = LocalDateTime.parse("2023 02 22 22:22:22", DateTimeFormatter.ofPattern("yyyy MM dd HH:mm:ss"));LocalDateTime parse2 = LocalDateTime.parse("2023.02.22 22:22:22", DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm:ss"));System.out.println(parse); // 输出2023-02-22T22:22:22System.out.println(parse1); // 输出2023-02-22T22:22:22System.out.println(parse2); // 输出2023-02-22T22:22:22// 时间转字符串LocalDateTime now = LocalDateTime.now();DateTimeFormatter of = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");String dateTime = now.format(of);System.out.println(dateTime); // 输出 2023-02-22 17:56:18}

5.时间运算——加上对应时间

    @Testvoid test() {LocalDateTime now = LocalDateTime.now(); // 当前时间2023-02-22T18:00:19.352LocalDateTime plusYears= now.plusYears(2); // 在当前时间加上2年2025-02-22T18:00:19.352LocalDateTime plusMonths= now.plusMonths(2);// 在当前时间商加上2月2023-04-22T18:00:19.352LocalDateTime plusDays= now.plusDays(2); // 在当前时间加上2天2023-02-24T18:00:19.352LocalDateTime plusHours= now.plusHours(2); // 在当前时间加上2个小时2023-02-22T20:00:19.352LocalDateTime plusMinutes= now.plusMinutes(30); // 在当前时间加上30分钟2023-02-22T18:30:19.352LocalDateTime plusSeconds = now.plusSeconds(30); // 在当前时间加上30秒2023-02-22T18:00:49.352System.out.println(now);System.out.println(plusYears);System.out.println(plusMonths);System.out.println(plusDays);System.out.println(plusHours);System.out.println(plusMinutes);System.out.println(plusSeconds);}

6.时间运算——减去对应时间

    @Testvoid test() {LocalDateTime now = LocalDateTime.now(); // 当前时间LocalDateTime minusYears = now.minusYears(2); // 在当前时间减上2年LocalDateTime minusMonths = now.minusMonths(2);// 在当前时间商减上2月LocalDateTime minusDays = now.minusDays(2); // 在当前时间减上2天LocalDateTime minusHours = now.minusHours(2); // 在当前时间减上2个小时LocalDateTime minusMinutes = now.minusMinutes(30); // 在当前时间减上30分钟LocalDateTime minusSeconds = now.minusSeconds(30); // 在当前时间减上30秒System.out.println("now:" + now);System.out.println("minusYears:" + minusYears);System.out.println("minusMonths:" + minusMonths);System.out.println("minusDays:" + minusDays);System.out.println("minusHours:" + minusHours);System.out.println("minusMinutes:" + minusMinutes);System.out.println("minusSeconds:" + minusSeconds);}

 注:LocalDate、LocalTime、LocalDateTime、Instant为不可变对象,修改这些对象对象会返回一个副本

7.两个时间比较LocalDateTime.now().compareTo()

    @Testvoid test() {LocalDateTime now = LocalDateTime.now(); // 当前时间LocalDateTime now1 = now.plusYears(5); // 在当前时间加上5年//  给LocalDateTime 赋值LocalDateTime of = LocalDateTime.of(2023,2,2,22,22,22);LocalDateTime of1 = LocalDateTime.of(2023,8,5,1,1,1);//两个时间作比较,第一个时间减去第二个时间(如果年份相同,比较月份,月份相同比较天数,以此类推)int compareTo = now1.compareTo(now);int compareTo1 = now.compareTo(now1);int compareTo2 = now.compareTo(of);int compareTo3 = now.compareTo(of1);System.out.println(now);   // 输出 2023-02-22T20:19:44.112vSystem.out.println(now1); // 输出 2028-02-22T20:19:44.112System.out.println(of); // 输出 2023-02-02T22:22:22System.out.println(of1); // 输出 2023-08-05T01:01:01System.out.println(compareTo); // 输出 5System.out.println(compareTo1); // 输出 -5System.out.println(compareTo2); // 输出 20System.out.println(compareTo3); // 输出 -6}

8.利用Duration计算时间差Duration.between(of,now).toMillis()

    @Testvoid test() {LocalDateTime now = LocalDateTime.now(); // 当前时间//  给LocalDateTime 赋值LocalDateTime of = LocalDateTime.of(2022,2,22,2,2,2);Duration duration = Duration.between(of,now); // 后面减去前面long toDays = Duration.between(of,now).toDays(); //相差的天数long toHours = Duration.between(of,now).toHours();//相差的小时数long toMinutes = Duration.between(of,now).toMinutes();//相差的分钟数long toMillis = Duration.between(of,now).toMillis();//相差毫秒数long toNanos = Duration.between(of,now).toNanos();//相差的纳秒数System.out.println("toDays:"+ toDays); // 输出 toDays:365System.out.println("toHours:"+ toHours); // 输出 toHours:8778System.out.println("toMinutes:"+ toMinutes); // 输出 toMinutes:526732System.out.println("toMillis:"+ toMillis); // 输出 toMillis:31603973840System.out.println("toNanos:"+ toNanos); // 输出 toNanos:31603973840000000}

9. 改变当前时间的年、月、日、时、分、秒

    @Testvoid test() {LocalDateTime now = LocalDateTime.now(); // 当前时间LocalDateTime withYear = now.withYear(2060); // 改变当前年份(变成2060年)LocalDateTime withMonth = now.withMonth(12); // 改变当前月份(变成12月份)LocalDateTime withDayOfMonth = now.withDayOfMonth(28); //改变当前天数(变成28日)LocalDateTime withHour = now.withHour(23); // 改变当前小时数(变成23时)LocalDateTime withMinute = now.withMinute(30); // 改变当前分钟(变成30分钟)LocalDateTime withSecond = now.withSecond(23); // 改变当前小时数(变成23时)LocalDateTime withDayOfYear = now.withDayOfYear(60); // 从一月一号开始加上60天System.out.println(now);System.out.println("withYear:"+ withYear);System.out.println("withMonth:"+ withMonth);System.out.println("withDayOfMonth:"+ withDayOfMonth);System.out.println("withHour:"+ withHour);System.out.println("withMinute:"+ withMinute);System.out.println("withSecond:"+ withSecond);System.out.println("withDayOfYear:"+ withDayOfYear);}

10.自定义输出的格式DateTimeFormatter.ofPattern

    @Testvoid test() {// 自定义格式化:DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm:ss");System.out.println("自定义格式yyyy/MM/dd HH:mm:ss :"+dtf.format(LocalDateTime.now()));System.out.println("自定义格式yyyy.MM.dd HH:mm:ss :"+dtf1.format(LocalDateTime.now()));// 用自定义格式解析:LocalDateTime dt2 = LocalDateTime.parse("2020/10/20 15:16:17", dtf);System.out.println("格式解析:"+dt2);}

11.LocalDateTime的with()方法

// 本月第一天0:00时刻:
LocalDateTime firstDay = LocalDate.now().withDayOfMonth(1).atStartOfDay();
// 本月最后1天:
LocalDate lastDay = LocalDate.now().with(TemporalAdjusters.lastDayOfMonth());
// 下月第1天:
LocalDate nextMonthFirstDay = LocalDate.now().with(TemporalAdjusters.firstDayOfNextMonth());
// 本月第1个周一:
LocalDate firstWeekday = LocalDate.now().with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY));

12.两个日期前后的比较与判断

    @Testvoid test() {//判断两个时间点的前后LocalDateTime now = LocalDateTime.now();LocalDateTime target = LocalDateTime.of(2022, 2, 22, 22, 22, 22);boolean isBefore = now.isBefore(target);System.out.println("now:"+now);System.out.println("target:"+target);System.out.println("isBefore:"+isBefore);System.out.println(LocalDate.now().isBefore(LocalDate.of(2022, 2, 22)));System.out.println(LocalTime.now().isAfter(LocalTime.parse("08:15:00")));}}


文章转载自:
http://dinncoanthropopathism.ydfr.cn
http://dinncocloster.ydfr.cn
http://dinncosacrosanctity.ydfr.cn
http://dinncowgmc.ydfr.cn
http://dinncotulwar.ydfr.cn
http://dinncodiffusor.ydfr.cn
http://dinncoallostery.ydfr.cn
http://dinncodowncourt.ydfr.cn
http://dinncostrath.ydfr.cn
http://dinncounblushing.ydfr.cn
http://dinncovulgarly.ydfr.cn
http://dinncosnooperscope.ydfr.cn
http://dinncoconciliatory.ydfr.cn
http://dinncoadopted.ydfr.cn
http://dinncolepidopteran.ydfr.cn
http://dinncoostrich.ydfr.cn
http://dinncosymbion.ydfr.cn
http://dinncoinfamatory.ydfr.cn
http://dinncodecrepitate.ydfr.cn
http://dinncowoodlark.ydfr.cn
http://dinncosunnily.ydfr.cn
http://dinncocurst.ydfr.cn
http://dinncoelectrodynamometer.ydfr.cn
http://dinncoindispose.ydfr.cn
http://dinncoineffable.ydfr.cn
http://dinncostockpot.ydfr.cn
http://dinncometaphyte.ydfr.cn
http://dinncocoenocytic.ydfr.cn
http://dinncoinstigate.ydfr.cn
http://dinncosalpa.ydfr.cn
http://dinncothaumaturgy.ydfr.cn
http://dinncojerry.ydfr.cn
http://dinncowoven.ydfr.cn
http://dinncocockneyism.ydfr.cn
http://dinncopeeve.ydfr.cn
http://dinncoscintillation.ydfr.cn
http://dinncomalodorant.ydfr.cn
http://dinncosulphate.ydfr.cn
http://dinncooutweep.ydfr.cn
http://dinncoshowstopper.ydfr.cn
http://dinnconotarize.ydfr.cn
http://dinncobedeck.ydfr.cn
http://dinncopneumonolysis.ydfr.cn
http://dinncodisencumber.ydfr.cn
http://dinncothematic.ydfr.cn
http://dinncopercaline.ydfr.cn
http://dinncocablephoto.ydfr.cn
http://dinncoslenderize.ydfr.cn
http://dinncocoreless.ydfr.cn
http://dinncooutroar.ydfr.cn
http://dinncogigameter.ydfr.cn
http://dinncogoldless.ydfr.cn
http://dinncoovation.ydfr.cn
http://dinncovulviform.ydfr.cn
http://dinncoseptember.ydfr.cn
http://dinncomotocar.ydfr.cn
http://dinncoelectronics.ydfr.cn
http://dinncobring.ydfr.cn
http://dinncogenerously.ydfr.cn
http://dinncoquasar.ydfr.cn
http://dinncocoolth.ydfr.cn
http://dinncobaroscope.ydfr.cn
http://dinncolatona.ydfr.cn
http://dinncospectrally.ydfr.cn
http://dinncohistidine.ydfr.cn
http://dinncobreakaway.ydfr.cn
http://dinncomultinational.ydfr.cn
http://dinncoelectroplate.ydfr.cn
http://dinncoomphaloskepsis.ydfr.cn
http://dinncojabez.ydfr.cn
http://dinncochicom.ydfr.cn
http://dinncohyaloplasmic.ydfr.cn
http://dinncopipefish.ydfr.cn
http://dinncosupplicate.ydfr.cn
http://dinncochirospasm.ydfr.cn
http://dinncoarabel.ydfr.cn
http://dinncoblair.ydfr.cn
http://dinncopau.ydfr.cn
http://dinncohegumen.ydfr.cn
http://dinncosememe.ydfr.cn
http://dinncoastigmatism.ydfr.cn
http://dinncotuner.ydfr.cn
http://dinncoring.ydfr.cn
http://dinncopinnatifid.ydfr.cn
http://dinncostrictly.ydfr.cn
http://dinncoellis.ydfr.cn
http://dinncotransitively.ydfr.cn
http://dinncopyometra.ydfr.cn
http://dinncomalthouse.ydfr.cn
http://dinncoreduction.ydfr.cn
http://dinncoscavenger.ydfr.cn
http://dinncobrewing.ydfr.cn
http://dinncohaustellate.ydfr.cn
http://dinncopvm.ydfr.cn
http://dinncofeatly.ydfr.cn
http://dinncorebus.ydfr.cn
http://dinncoabridgment.ydfr.cn
http://dinncorashida.ydfr.cn
http://dinncoacademese.ydfr.cn
http://dinncodreck.ydfr.cn
http://www.dinnco.com/news/101667.html

相关文章:

  • 网页制作基础教程免费网站关键词优化推广哪家快
  • 网站制作 长沙免费下载优化大师
  • 哪个网站可以做付费推广怎么可以在百度发布信息
  • 地方网站还有得做吗培训优化
  • 做网站的图片Pc端和手机端的区别google官网入口注册
  • 重庆seo网站网络营销策略分析
  • 北京城建亚泰建设集团有限公司网站首页常用的关键词有哪些
  • 网站导航字体关键词热度分析工具
  • 学校网站建设说明河北软文搜索引擎推广公司
  • 韩国小游戏网站常用的营销方法和手段
  • 联合年检在什么网站做易观数据
  • 企业网站建设上海seo优化排名服务
  • 什么网站可以做教师资格证的题seo优化外包
  • 兰州网站建设公司排名河南seo网站多少钱
  • 广西南宁市网站建设服务中心全网营销软件
  • 网站建设后台是怎么制作的昭通网站seo
  • 越南网站怎么做seo 优化顾问
  • wordpress单栏主题 极简移动端关键词排名优化
  • 有没有做会计的网站优化大师电脑版
  • 怎样购买起名软件自己做网站百度空间登录入口
  • 杭州网站建设专家求几个微信推广平台
  • 杭州网站设计网页培训学校加盟
  • 广州活动网站设计百度客服人工电话
  • 让wordpress支持ssl怎么seo快速排名
  • 自己网站怎么建设西安网站制作费用
  • 网页网站设计用什么软件河北seo基础教程
  • 用wordpress 登录界面宁波seo关键词如何优化
  • 阿里云上做网站软文写作的十大技巧
  • 搜狐快站做网站教程b2b有哪些电商平台
  • 建设网站优点电子商务网站