相关疑难解决方法(0)

Instant和LocalDateTime有什么区别?

我知道:

  • Instant是用于计算的"技术"时间戳表示(纳秒).
  • LocalDateTime是日期/时钟表示,包括人类的时区.

仍然最终IMO都可以作为大多数应用程序用例的类型.例如:目前我正在运行一个批处理作业,我需要根据日期计算下一次运行,我很难找到这两种类型之间的优缺点(除了Instant的纳秒级精度优势和时区部分) of LocalDateTime).

您能说出一些应用示例,其中只应使用Instant或LocalDateTime吗?

编辑:注意有关精度和时区的LocalDateTime的误读文档

java datetime java-8

205
推荐指数
5
解决办法
8万
查看次数

使用java.util.Date获取过去的日期

以下是我用来访问过去10天前的日期的代码.输出是'20130103',这是今天的日期.我怎样才能返回今天的日期 - 10天?我限制使用内置的java日期类,所以不能使用joda时间.

package past.date;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class PastDate {

    public static void main(String args[]){

        DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
        Date myDate = new Date(System.currentTimeMillis());
        Date oneDayBefore = new Date(myDate.getTime() - 10);    
        String dateStr = dateFormat.format(oneDayBefore);      
        System.out.println("result is "+dateStr);

    }

}
Run Code Online (Sandbox Code Playgroud)

java

6
推荐指数
2
解决办法
3万
查看次数

将小时和分钟添加到特定时间java

我把 String initialTime= "10:30:00" 它转换成时间,如下所示:-

DateFormat sdf = new SimpleDateFormat("hh:mm:ss");
Date date = sdf.parse(initialTime);
Time time = new Time(date.getTime());
int initHour = time.getHours()
int initMind = time.getMinutes();
Run Code Online (Sandbox Code Playgroud)

此外,我有两个价值观;

int hour, mins;
Run Code Online (Sandbox Code Playgroud)

小时值可以是 0-10 之间的任何值;分钟值可以是 0、15、30、45。

用户通过选择hour和来选择时间mins。一旦用户选择了值,它们就会被添加到 initialTime并显示在finalTIme

因此,如果:-

hour=0 and mins=15 then finalTIme=10:45:00
hour=0 and mins=35 then finalTIme=11:00:00
hour=0 and mins=45 then finalTIme=11:15:00
Run Code Online (Sandbox Code Playgroud)

我尝试做类似的事情:-

if(hour==0 && mins==0)
{
    finalTime = initialTime;
}

else if(hour==0 && mins>0 && mins <30)
{
   mins = initMins + …
Run Code Online (Sandbox Code Playgroud)

java time

3
推荐指数
1
解决办法
6139
查看次数

标签 统计

java ×3

datetime ×1

java-8 ×1

time ×1