当前位置:网站首页>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
边栏推荐
- MySQL存储引擎
- NSSA area where OSPF is configured for Huawei equipment
- Codeforces round 804 (Div. 2) [competition record]
- LeetCode 8. String conversion integer (ATOI)
- Determinant learning notes (I)
- Global and Chinese markets of universal milling machines 2022-2028: Research Report on technology, participants, trends, market size and share
- Yunna | what are the main operating processes of the fixed assets management system
- Upgrade openssl-1.1.1p for openssl-1.0.2k
- 云呐|固定资产管理系统功能包括哪些?
- FFmpeg抓取RTSP图像进行图像分析
猜你喜欢
随机推荐
MySQL之函数
DEJA_VU3D - Cesium功能集 之 055-国内外各厂商地图服务地址汇总说明
2022-02-13 work record -- PHP parsing rich text
小程序技术优势与产业互联网相结合的分析
数据分析思维分析方法和业务知识——分析方法(三)
【NOI模拟赛】Anaid 的树(莫比乌斯反演,指数型生成函数,埃氏筛,虚树)
Pointer - character pointer
【DesignMode】装饰者模式(Decorator pattern)
About the slmgr command
MySql——CRUD
Search (DFS and BFS)
LeetCode 8. String conversion integer (ATOI)
[Chongqing Guangdong education] reference materials for Zhengzhou Vocational College of finance, taxation and finance to play around the E-era
Upgrade openssl-1.1.1p for openssl-1.0.2k
FFT learning notes (I think it is detailed)
Choose to pay tribute to the spirit behind continuous struggle -- Dialogue will values [Issue 4]
Recognize the small experiment of extracting and displaying Mel spectrum (observe the difference between different y_axis and x_axis)
Mathematical model Lotka Volterra
AtCoder Beginner Contest 258【比赛记录】
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