本文目前提供:LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转 文中都使用的时区都是东8区,也就是北京时间。...这是为了防止服务器设置时区错误时导致时间不对,如果您是其他时区,请自行修改 1.LocalDateTime获取毫秒数 //获取秒数 Long second = LocalDateTime.now()....toEpochSecond(ZoneOffset.of("+8")); //获取毫秒数 Long milliSecond = LocalDateTime.now().toInstant(ZoneOffset.of...dateTime = LocalDateTime.parse(dateTimeStr, df); 3.Date与LocalDateTime互转 //将java.util.Date 转换为java8...的java.time.LocalDateTime,默认时区为东8区 public static LocalDateTime dateConvertToLocalDateTime(Date date
import java.util.Calendar; import java.util.Date; /** * 获取当前时间的毫秒数方法 * @author baiyu * */ public
在最初的版本下,java.lang包中的System.currentTimeMillis();可以获取当前时间与协调时间(UTC)1970年1月1日午夜之间的时间差(以毫秒为单位测量)。...精确到毫秒 3 int compareTo(Date anotherDate) 比较两个日期的大小 4 long getTime() 返回自1970年1月1日00:00:00 GMT以来此Date对象表示的毫秒数...System.out.println("使用指定格式的日期字符串:"+sdf.format(new Date())); String str="2021年1月15日 06小时44分钟05秒 123毫秒...设置和获取日历字段的方法,被JDK1.1推出的Calendar代替。...从概念上讲,它只是简单地表示自1970年1月1日0时0分0秒(UTC)开始地秒数。因为java.time包是基于纳秒计算的,所以Instant类的精度可以达到纳秒级。
对日期的计算方式繁琐,而且容易出错,因为月份是从0开始的,从Calendar中获取的月份需要加一才能表示当前月份。...如果查看Instant源码,发现它的内部使用了两个常量,seconds表示从1970-01-01 00:00:00开始到现在的秒数,nanos表示纳秒部分(nanos的值不会超过999,999,999)...minutes = duration.toMinutes(); // 这段时间的分钟数 long seconds = duration.getSeconds(); // 这段时间的秒数...long milliSeconds = duration.toMillis(); // 这段时间的毫秒数 long nanoSeconds = duration.toNanos();...); // 5天 Duration duration2 = Duration.of(1000, ChronoUnit.MILLIS); // 1000毫秒 Period Period在概念上和
clock, Duration.ofMillis(-10000)); System.out.println(pastClock.getZone()); //当前时间和过去pastClock相差10000毫秒...Clock nearestHourClock = Clock.tick(clock, Duration.ofMillis(10)); //当前时间是2021-01-03T05:36:54.088Z,周期是10毫秒...public static LocalTime ofSecondOfDay(long secondOfDay) //距离凌晨的纳秒数 public static LocalTime ofNanoOfDay...atTime(LocalTime time) //设置时间为今天的凌晨 public LocalDateTime atStartOfDay() //以下两个方法是jdk9,获取当前时间到endExclusive...//一秒钟的纳秒数 NANO_OF_SECOND("NanoOfSecond", NANOS, SECONDS, ValueRange.of(0, 999_999_999)) //一分钟的秒数
一、环境介绍 操作系统介绍:win10 64位 QT版本: 5.12.6 二、获取系统当前时间 2.1 获取当前系统的时间日期 QDateTime current_date_time =QDateTime...currentDateTime(); QString current_date =current_date_time.toString("yyyy.MM.dd hh:mm:ss.zzz ddd"); 2.2 获取当前系统的时间...current_time.minute();//当前的分 int second = current_time.second();//当前的秒 int msec = current_time.msec();//当前的毫秒 2.3 获取...1970年到现在的秒数 获取格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数 //秒级时间戳(十位) QString timestamp
所有计算机系统内部都用一个整数表示时刻,这个整数是距离格林尼治标准时间1970年1月1日0时0分0秒的毫秒数。为什么要用这个时间呢?更多的是历史原因。...System.out.println("获得10位秒数:" + now.getEpochSecond()); System.out.println("获得13位毫秒数:" + now.toEpochMilli...,从一个文本字符串获取一个LocalDateTime实例,如2007-12-03T10:15:30。...static LocalDateTime parse(CharSequence text, DateTimeFormatter formatter):使用指定格式化,从文本字符串获取LocalDateTime...LocalDateTime.now() 也是获取默认时区的当前日期和时间,有什么区别呢?
(); // 获取LocalTime LocalTime localTime2 = localDateTime.toLocalTime(); Instant 获取秒数,用于表示一个时间戳(精确到纳秒)...如果只是为了获取秒数或者毫秒数,可以使用 System.currentTimeMillis()。...// 创建Instant对象 Instant instant = Instant.now(); // 获取秒数 long currentSecond = instant.getEpochSecond()...; // 获取毫秒数 long currentMilli = instant.toEpochMilli(); Duration 表示一个时间段 // Duration.between()方法创建 Duration...// 这段时间的纳秒数 修改 LocalDate、LocalTime、LocalDateTime、Instant。
= localTime.getMinute(); int second1 = localTime.get(ChronoField.SECOND_OF_MINUTE); LocalDateTime 获取年月日时分秒...; LocalDateTime localDateTime4 = localTime.atDate(localDate); 获取LocalDate LocalDate localDate2 = localDateTime.toLocalDate...(); 获取LocalTime LocalTime localTime2 = localDateTime.toLocalTime(); Instant 获取秒数 创建Instant对象 Instant...instant = Instant.now(); 获取秒数 long currentSecond = instant.getEpochSecond(); 获取毫秒数 long currentMilli...= instant.toEpochMilli(); 个人觉得如果只是为了获取秒数或者毫秒数,使用System.currentTimeMillis()来得更为方便。
= localTime.getSecond(); int second1 = localTime.get(ChronoField.SECOND_OF_MINUTE); LocalDateTime 获取年月日时分秒...; LocalDateTime localDateTime4 = localTime.atDate(localDate); 获取LocalDate LocalDate localDate2 = localDateTime.toLocalDate...(); 获取LocalTime LocalTime localTime2 = localDateTime.toLocalTime(); Instant 获取秒数 创建Instant对象 Instant...instant = Instant.now(); 获取秒数 long currentSecond = instant.getEpochSecond(); 获取毫秒数 long currentMilli...= instant.toEpochMilli(); 个人觉得如果只是为了获取秒数或者毫秒数,使用System.currentTimeMillis()来得更为方便 修改LocalDate、LocalTime
获取日 int day = localDate.getDayOfMonth(); int day1 = localDate.get(ChronoField.DAY_OF_MONTH); // 获取星期...创建LocalDateTime获取年月日时分秒 // 获取当前年月日时分秒 LocalDateTime localDateTime = LocalDateTime.now(); // 构造指定年月日时分秒...= Instant.now(); // 获取秒数 long currentSecond = instant.getEpochSecond(); // 获取毫秒数 long currentMilli...= instant.toEpochMilli(); 个人觉得如果只是为了获取秒数或者毫秒数,使用System.currentTimeMillis()来得更为方便; 修改LocalDate、LocalTime...为例增加、减少年数、月数、天数等 // 获取当前年月日时分秒 LocalDateTime localDateTime = LocalDateTime.now(); // 增加一年 localDateTime
Instant 对象 Instant.ofEpochSecond(longseconds) 通过现有的秒时间戳来创建 Instant 对象 从 Instant 取值 Instant 对象包含两个值:秒数和纳秒数...其中秒数指的是 epoch 时间戳,而纳秒数指的是该秒内的纳秒时间。由此可知, Instant 对象的精确度比 System.currentTimeMillis() 高到不知道哪去了。...所以从 Instant 可以取到两个值: Instant.getEpochSecond() 获取秒数部分, Instant.getNano()获取纳秒部分。...四、时间单位转换 当我们要具体计算两个时间点之间的秒数或天数,该怎么办呢?这里有一个叫 ChronoUnit 的类。...关注「程序员宝库」公众号,直接获取各种编程资料! ?
//获取小时int hour = localTime.getHour();int hour1 = localTime.get(ChronoField.HOUR_OF_DAY);//获取分int minute...();int second1 = localTime.get(ChronoField.SECOND_OF_MINUTE); LocalDateTime 获取年月日时分秒,等于LocalDate+LocalTime...(localDate); 获取LocalDate LocalDate localDate2 = localDateTime.toLocalDate(); 获取LocalTime LocalTime localTime2...= localDateTime.toLocalTime(); Instant 获取秒数 创建Instant对象 Instant instant = Instant.now(); 获取秒数 long...currentSecond = instant.getEpochSecond(); 获取毫秒数 long currentMilli = instant.toEpochMilli(); 个人觉得如果只是为了获取秒数或者毫秒数
16 16:35:31 GMT+08:00 2019 System.out.println(date1.getTime());//1550306204104 构造器二:创建指定毫秒数的...Date对象对应的毫秒数。...没有偏移量 LocalDateTime localDateTime1 = LocalDateTime.of(2020, 10, 6, 13, 23, 43); 3.getXxx():获取相关的属性...(localDateTime4); 5.Instant的使用 类似于 java.util.Date类 public void test2(){ //now():获取本初子午线对应的标准时间...System.out.println(milli); //ofEpochMilli():通过给定的毫秒数,获取Instant实例 -->Date(long millis)
newDate(){ System.out.println(new Date()); //Mon Feb 22 14:57:23 CST 2021 } 在时间戳 其实原点 加上 1000毫秒...一般使用 mm 表示分钟数 使用 mm 表示的分钟数,如 29 s 秒数。一般使用 ss 表示秒数 使用 ss 表示的秒数,如 38 S 毫秒数。...一般使用 SSS 表示毫秒数 使用 SSS 表示的毫秒数,如 156 案例 parse: SimpleDateFormat simpleDateFormat = new SimpleDateFormat...LocalDate、LocalTime、LocalDateTime是JDK1.8新出的类 优势:相对于Date、Calendar更加安全而且api更加丰富,对日期时间的操作更加容易,非常值得一试。...-->String]2021/02/22 17:49:00-845 [String-->LocalDateTime-->Date]Mon Feb 22 17:49:00 CST 2021 一般处理 Local
synchronized String nextId(BRStyle brStyle) { //现存的扩展字段 long extension = 0L; //获取当前时间毫秒数...// 如果时钟回拨在可接受范围内, 等待即可 long offset = lastStmp - currStmp; //如果回拨时间不超过5毫秒...) { //相同毫秒内,序列号自增 sequence = (sequence + 1) & MAX_SEQUENCE; //同一毫秒的序列数已经达到最大...= lastStmp) { mill = getNewstmp(); } return mill; } /** * 获取当前时间毫秒数...Set list = Collections.synchronizedSet(new HashSet()); System.out.println("开始时间" + LocalDateTime.now
概念上讲,它只是简单的表示自1970年1月1日0时0分0秒(UTC)开始的秒数。...("相差的总纳秒数:"+between.toNanos()); System.out.println("不够一秒的纳秒数:"+between.getNano()); }...有时我们可能需要获取例如:将日期调整到“下一个工作日”等操作。...@Test public void test1(){ // TemporalAdjuster:时间校正器 // 获取当前日期的下一个周日是哪天?...= LocalDateTime.now().with(temporalAdjuster); System.out.println(localDateTime); // 获取下一个工作日是哪天?
领取专属 10元无门槛券
手把手带您无忧上云