当前位置:网站首页>Extension and application of timestamp
Extension and application of timestamp
2022-07-06 00:22:00 【Wang Xiaoya】
expand
Some application examples encountered in recent learning can be solved by timestamp , There are three ways to obtain timestamp , Recommended System Class to get the timestamp , Let's take a look at three ways :
1.System.currentTimeMillis()
System Class currentTimeMilis() The method is the most efficient of the three , The shortest running time . In the development, if the design comes to the problem of efficiency , It is recommended to use this method to obtain .
2.new Date().getTime()
except System class , The ones that use a lot should be Date The class , If the date is involved in the development, you will first think of Date, but date Getting a timestamp in a class is not the most efficient , Look at his source code :
The parameterless structure is as follows
public Date() {
this(System.currentTimeMillis());
You can see from the source code , new Date() It's actually called System.currentTimeMillis(), Then pass in your own parameter constructor . It's not hard to see. , If you just get the timestamp , Even anonymous new Date() Objects also have a slight performance cost , From the perspective of improving performance , Just get the timestamp , Regardless of the time zone ( Why does time zone have an impact? Let's see the next paragraph ), Call directly System.currentTimeMillis() It will be better .
3.Calendar.getInstance().getTimelnMillis()
This method is actually the slowest , Look at its source code and you will find ,Canlendar It's time zone sensitive , Because it takes a lot of time to deal with the time zone problem .
in summary , It is recommended to use System.currentTimeMillis() Get the timestamp .
Application example :
Find the number of days between two dates
for example : Write a method (fun3(“2010-09-20”,“2010-09-21”) ) The result is 1 God
package com.com.object_11.pratice_11.A4;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class CalendarDemo {
public static void main(String[] args) {
// Use time stamps
DateFormat dft = new SimpleDateFormat("yyyy-MM-dd");
try {
Date star = dft.parse("2022-06-30");// Starting time
Date endDay=dft.parse("2025-11-30");// End time
Long starTime=star.getTime();
Long endTime=endDay.getTime();
Long num=endTime-starTime;// The number of milliseconds between timestamps
System.out.println(" The difference in days is :"+num/24/60/60/1000);// Divide by the number of milliseconds in a day
} catch (ParseException e) {
e.printStackTrace();
}
}
}
How many days were you born
Please use date time related API, Calculate how many days a person has been born .
package com.com.object_11.pratice_11.A5;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
// Please use date time related API, Calculate how many days a person has been born .
public class Birthday {
public static void main(String[] args) {
// Use time stamps
DateFormat dft = new SimpleDateFormat("yyyy-MM-dd");
try {
Date star = dft.parse("1999-11-08");// Starting time
Date endDay=dft.parse("2022-06-30");// End time
Long starTime=star.getTime();
Long endTime=endDay.getTime();
Long num=endTime-starTime;// The number of milliseconds between timestamps
System.out.println(" The number of days since birth is :"+num/24/60/60/1000);// Divide by the number of milliseconds in a day
} catch (ParseException e) {
e.printStackTrace();
}
}
}
Print digit 1-9999 The time needed
verification for Cycle numbers 1-9999 The time needed ( millisecond )
package com.com.object_11.pratice_11.A6;
// verification for Cycle numbers 1-9999 The time needed ( millisecond )
public class PrintTimes {
public static void main(String[] args) {
// Starting time
long start = System.currentTimeMillis();
for (int i = 1; i < 10000; i++) {
System.out.println(i);
}
// End time
long end = System.currentTimeMillis();
// The start time minus the end time is the time required for printing
System.out.println(" Print 1-9999 need " + (end - start) + " millisecond ");
}
}
A few days away
So let's figure out today's distance 2023 year 1 month 1 How many days are there in the day
package com.com.object_11.pratice_11.A7;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class FutureTimes {
public static void main(String[] args) throws ParseException {
DateFormat dft = new SimpleDateFormat("yyyy-MM-dd");
Date endDay=dft.parse("2023-01-01");// End time
// Use time stamps
Long starTime=System.currentTimeMillis();// Starting time ( At present )
Long endTime=endDay.getTime();
Long num=endTime-starTime;// The number of milliseconds between timestamps
System.out.println(" Today's distance 2023 year 1 month 1 Day also :"+num/24/60/60/1000+" God ");// Divide by the number of milliseconds in a day
}
}
// Today's distance 2023 year 1 month 1 Day also :184 God
边栏推荐
猜你喜欢
Extracting profile data from profile measurement
Problems encountered in the database
小程序技术优势与产业互联网相结合的分析
数据分析思维分析方法和业务知识——分析方法(三)
Search (DFS and BFS)
Atcoder beginer contest 254 [VP record]
N1 # if you work on a metauniverse product [metauniverse · interdisciplinary] Season 2 S2
Tools to improve work efficiency: the idea of SQL batch generation tools
Classical concurrency problem: the dining problem of philosophers
AtCoder Beginner Contest 258【比赛记录】
随机推荐
Hardware and interface learning summary
【线上小工具】开发过程中会用到的线上小工具合集
Global and Chinese markets for hinged watertight doors 2022-2028: Research Report on technology, participants, trends, market size and share
Single source shortest path exercise (I)
LeetCode 1189. Maximum number of "balloons"
[Chongqing Guangdong education] Chongqing Engineering Vocational and Technical College
LeetCode 8. String conversion integer (ATOI)
State mode design procedure: Heroes in the game can rest, defend, attack normally and attack skills according to different physical strength values.
云呐|固定资产管理系统主要操作流程有哪些
Gavin teacher's perception of transformer live class - rasa project actual combat e-commerce retail customer service intelligent business dialogue robot system behavior analysis and project summary (4
时区的区别及go语言的time库
Pointer pointer array, array pointer
Doppler effect (Doppler shift)
什么叫做信息安全?包含哪些内容?与网络安全有什么区别?
What is information security? What is included? What is the difference with network security?
FFMPEG关键结构体——AVCodecContext
Shardingsphere source code analysis
Global and Chinese market of water heater expansion tank 2022-2028: Research Report on technology, participants, trends, market size and share
Pointer - character pointer
PHP determines whether an array contains the value of another array