java中对日期取小时的方法getHours(),发现此方法被划掉,说明有更好的方法可以替代他,那么这个方法是什

java中对日期取小时的方法getHours(),发现此方法被划掉,说明有更好的方法可以替代他,那么这个方法是什,第1张

这个方法不推荐了,使用下面的方式代替,详细请见 Date类getHours方法的文档注释。

Calendar rightNow = CalendargetInstance();

int hour = rightNowget(CalendarHOUR_OF_DAY);

Systemoutprintln(hour);

你的意思的 如果当前时间是18点 - 2359之间才返回 否则不返回是不 Date d = new Date(); int hours = dgetHours(); if(18<hours<0){ return d; }else{ return null; }

首先,我想说的是其实这样写不太好理解,一般不是这样写的,要写就要写直白点,不但自己懂,被人也好懂的。

其次,举个例子怎样写才容易理解:

核心代码:

date = new Date();

sysDate = String format("%tY-%tm-%td",date,date,date);

sysTime = Stringformat("%tH:%tM:%tS", date, date, date);

完整示例:

/

 To change this template, choose Tools | Templates

 and open the template in the editor

/

package testDate;

import javautilDate;

/

 @author Study

/

public class TestDateToString {

private Date date;//声明日期类date

private String sysDate;//声明字符串系统日期sysDate

private String sysTime;//声明字符串系统时间sysTime

public TestDateToString() {

date = new Date();

sysDate = String format("%tY-%tm-%td",date,date,date);

sysTime = Stringformat("%tH:%tM:%tS", date, date, date);

}

/

 打印日期

/

public void printDate() {

Systemoutprintln("今天日期是:"+getSysDate());

}

/

 打印时间

/

public void printTime() {

Systemoutprintln("现在时间是:"+getSysTime());

}

/

 测试方法

 @param args

/

public static void main(String[] args) {

TestDateToString now = new TestDateToString();

nowprintDate();

nowprintTime();

}

/

 @return the sysTime

/

public String getSysTime() {

return sysTime;

}

/

 @return the sysDate

/

public String getSysDate() {

return sysDate;

}

}

最后,解释你的程序。(还有,你写错了,最后打印的是temp,不是“temp”,前者是变量,后者是字符串)

Date date1=new Date();//声明Date类date1,并创建Date对象为其分配内存

Systemoutprintln("日期及时间是:"+date);//打印"日期及时间是:",其中是     date1toString()即当前系统时间,格式如May 08 16:18:17 CST 2011

String temp=date1toString();//声明String类型的temp,它等于date1toString(),也就是当前时间的字符串形式

temp=tempsubstring(11, tempindexOf('C'));//主要理解这个方法,这个方法其实是StringsubString(int beginIndex,int endIndex)

//也就是将刚才那串字符串截取,怎么截取呢?从第11个字符开始截取(0是第一个字符),截取到'C'字符之前

Systemoutprintln(temp);//打印temptoString

import javautil;

import javatextSimpleDateFormat;

public class test

{

public static void main (String args[])

{

Date d = new Date();

long longtime = dgetTime();

Systemoutprintln(longtime);

//你获得的是上面的long型数据吧

String time = dtoLocaleString();

//你可以简单的得到本地化时间,本来就是String类型的就不用转换了

Systemoutprintln(time);

//也可以自己用SimpleDateFormat这个函数把它变成自己想要的格式,注意需要import javatextSimpleDateFormat;

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

Systemoutprintln(sdfformat(longtime));

}

}

import javautilDate;

import orgapachecommonslang3timeDateUtils;

public class Test {

public static void main(String[] args) {

Date now = new Date();

// 减一小时

Date add = DateUtilsaddHours(now, -1);

// 加一小时

Date sub = DateUtilsaddHours(now, 1);

if (addafter(now)) {

Systemoutprintln("当前时间后");

} else {

Systemoutprintln("当前时间前");

}

if (subbefore(now)) {

Systemoutprintln("当前时间前");

} else {

Systemoutprintln("当前时间后");

}

}

}

代码如下:Calendar c = CalendargetInstance();//可以对每个时间域单独修改

csetTime(new Date());

cset(CalendarHOUR_OF_DAY, cget(CalendarHOUR_OF_DAY) - 1);

这几步即可获得当前时间前一个小时

思路:

通过经纬度获取当地时区(百度有现成的例子)

获取你电脑当前的时间

时间原则上是每隔一个时区相差一个小时,所以你可以根据你的时间加上或者减去时区去算出经纬度所在地的实时时间

在Java中,如何获取不同时区的当前时间你知道这道题的正确答案应该如何回答吗背后的原理又是什么呢

然后,紧接着,我又提出了以下问题:

为什么以下代码无法得到美国时间。(在东八区的计算机上)

接下来,java课程培训机构就围绕这两个问题,来带领读者一起学习一下哪些和Java中的时间有关的概念。

时区

前面提到了时区,可能很多读者不知道什么是时区,先来简单介绍一下。

时区是地球上的区域使用同一个时间定义。以前,人们通过观察太阳的位置(时角)决定时间,这就使得不同经度的地方的时间有所不同(地方时)。1863年,首次使用时区的概念。时区通过设立一个区域的标准时间部分地解决了这个问题。

世界各个国家位于地球不同位置上,因此不同国家,特别是东西跨度大的国家日出、日落时间必定有所偏差。这些偏差就是所谓的时差。

为了照顾到各地区的使用方便,又使其他地方的人容易将本地的时间换算到别的地方时间上去。有关国际会议决定将地球表面按经线从东到西,划成一个个区域,并且规定相邻区域的时间相差1小时。在同一区域内的东端和西端的人看到太阳升起的时间最多相差不过1小时。当人们跨过一个区域,就将自己的时钟校正1小时(向西减1小时,向东加1小时)

接下来,本文就围绕这两个问题,来带领读者一起学习一下哪些和Java中的时间有关的概念。

时区

前面提到了时区,可能很多读者不知道什么是时区,先来简单介绍一下。

时区是地球上的区域使用同一个时间定义。以前,人们通过观察太阳的位置(时角)决定时间,这就使得不同经度的地方的时间有所不同(地方时)。1863年,首次使用时区的概念。时区通过设立一个区域的标准时间部分地解决了这个问题。

世界各个国家位于地球不同位置上,因此不同国家,特别是东西跨度大的国家日出、日落时间必定有所偏差。这些偏差就是所谓的时差。

为了照顾到各地区的使用方便,又使其他地方的人容易将本地的时间换算到别的地方时间上去。有关国际会议决定将地球表面按经线从东到西,划成一个个区域,并且规定相邻区域的时间相差1小时。在同一区域内的东端和西端的人看到太阳升起的时间最多相差不过1小时。当人们跨过一个区域,就将自己的时钟校正1小时(向西减1小时,向东加1小时

以上就是关于java中对日期取小时的方法getHours(),发现此方法被划掉,说明有更好的方法可以替代他,那么这个方法是什全部的内容,包括:java中对日期取小时的方法getHours(),发现此方法被划掉,说明有更好的方法可以替代他,那么这个方法是什、java中如何获取几分钟或者几小时前的时间、在java中怎样用字符串技术获取小时数、分钟数、和秒数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/10148614.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存