当前位置:网站首页>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
边栏推荐
- An understanding of & array names
- How to solve the problems caused by the import process of ecology9.0
- notepad++正則錶達式替換字符串
- 7.5 decorator
- LeetCode 8. String conversion integer (ATOI)
- [binary search tree] add, delete, modify and query function code implementation
- LeetCode 斐波那契序列
- MySQL之函数
- 数据分析思维分析方法和业务知识——分析方法(二)
- FFMPEG关键结构体——AVFormatContext
猜你喜欢
FFMPEG关键结构体——AVFormatContext
2022-02-13 work record -- PHP parsing rich text
Permission problem: source bash_ profile permission denied
Huawei equipment is configured with OSPF and BFD linkage
Notepad + + regular expression replace String
Mathematical model Lotka Volterra
LeetCode 1189. Maximum number of "balloons"
Single merchant v4.4 has the same original intention and strength!
MySql——CRUD
Doppler effect (Doppler shift)
随机推荐
PV static creation and dynamic creation
Tools to improve work efficiency: the idea of SQL batch generation tools
Room cannot create an SQLite connection to verify the queries
Power query data format conversion, Split Merge extraction, delete duplicates, delete errors, transpose and reverse, perspective and reverse perspective
如何解决ecology9.0执行导入流程流程产生的问题
anconda下载+添加清华+tensorflow 安装+No module named ‘tensorflow‘+KernelRestarter: restart failed,内核重启失败
FFT 学习笔记(自认为详细)
Codeforces round 804 (Div. 2) [competition record]
LeetCode 8. String conversion integer (ATOI)
7.5 simulation summary
Doppler effect (Doppler shift)
Transport layer protocol ----- UDP protocol
LeetCode 1189. Maximum number of "balloons"
Classical concurrency problem: the dining problem of philosophers
选择致敬持续奋斗背后的精神——对话威尔价值观【第四期】
Global and Chinese markets for hinged watertight doors 2022-2028: Research Report on technology, participants, trends, market size and share
LeetCode 6004. Get operands of 0
GD32F4xx uIP协议栈移植记录
Chapter 16 oauth2authorizationrequestredirectwebfilter source code analysis
Priority queue (heap)