草庐IT

java - 解析 MM/DD/YY 格式的日期并将其调整为当前/上个世纪的最佳方法是什么?

我们的一位客户希望能够输入年份部分只有2位数字的日期。日期将是过去的日期,因此如果2位数年份晚于当前年份,我们希望它适用于上个世纪,但如果2位数年份等于或小于当前年份,则它适用于当前世纪。截至今天2008年10月30日01/01/01=01/01/200101/01/09=01/01/1909这是一个奇怪的要求,我解决了这个问题,我只是不喜欢我的解决方案。感觉有更好的方法可以做到这一点。感谢您的帮助。publicstaticStringstupidDate(StringdateString){StringtwoDigitYear=StringUtils.right(dateString

java - 将整数分钟转换为字符串 "hh:mm"

我需要将分钟(定义为整数)转换为以下字符串格式“hh:mm”,假设startTime为“00:00”。下面给出的代码是我目前所拥有的,但它不能正常工作。它也没有考虑newTime应该根据startTime移动。还有其他解决办法吗?StringstartTime="00:00";intminutes=120;doubletime=minutes/60;StringtimeS=Double.toString(time);String[]hourMin=timeS.split(".");Stringh=hourMin[0];Stringm=hourMin[1];StringnewTime="

java - 以 (yyyy-MM-dd) 格式解析字符串日期

我有一个“2013-09-18”形式的字符串。我想将它转换成java.util.Date。我在做这个SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");DateconvertedCurrentDate=sdf.parse(currentDateText);convertedCurrentDate即将到来'WedSep1800:00:00IST2013'我希望我的输出格式为“2013-09-18”时、分、秒不应出现,应采用yyyy-MM-dd的形式。 最佳答案 您可能需要按如下所

java - 为什么使用 SimpleDateFormat '23:00 PM' 解析 ("hh:mm aa") 返回上午 11 点?

为什么使用SimpleDateFormat("hh:mmaa")解析'23:00PM'返回上午11点? 最佳答案 您应该得到一个异常,因为“23:00PM”不是有效字符串,但Java的日期/时间工具是lenient默认情况下,在处理日期解析时。逻辑是23:00PM是11:00PM之后的12小时,也就是第二天的11:00AM。您还会看到诸如“4月31日”之类的内容被解析为“5月1日”(4月30日之后的一天)。如果您不希望出现这种情况,请使用DateFormat#setLenient(boolean)在您的SimpleDateForma

java - 我如何格式化 java.time.Duration mm :ss

我有一个java.time.Duration,我想以mm:ss的形式输出它。似乎无法使用DateTimeFormatter,因为它只接受LocalTime、ZonedTIme等所以我是这样做的,在90秒内工作正常,给出1:30,但在66秒内给出1:6,而我想要1:06Durationduration=Duration.ofSeconds(track.getLength().longValue());System.out.println(duration.toMinutes()+":"+duration.minusMinutes(duration.toMinutes()).getSeco

java - 日期格式解析异常 - "EEE MMM dd HH:mm:ss Z yyyy"

这个问题在这里已经有了答案:Howtoconvertdateintoyyyy-MM-ddFormat?(6个答案)HowcanIconvertDate.toStringbacktoDate?(5个答案)Java-Unparseabledate(3个答案)关闭5年前。我遇到了日期解析示例日期的问题:SimpleDateFormatparserSDF=newSimpleDateFormat("EEEMMMddHH:mm:sszzzzyyyy",Locale.getDefault());parserSDF.parse("WedOct1600:00:00CEST2013");得到异常确切地说,

java - 将字符串 "yyyy-MM-dd"转换为 LocalDateTime

有什么方法可以将日期String转换为格式为"yyyy-MM-dd"的LocalDateTime吗?如果我尝试这样做:DateTimeFormatterDATEFORMATTER=DateTimeFormatter.ofPattern("yyyy-MM-dd");LocalDateTimeldt=LocalDateTime.parse(string,DATEFORMATTER);我遇到了这个异常:java.time.format.DateTimeParseException:Text'2017-03-13'couldnotbeparsed:UnabletoobtainLocalDate

java - dd/mm/yyyy vs dd/MM/yyyy?

SimpleDateFormatsdf=newSimpleDateFormat("dd/MM/yyyy");Stringdate=sdf.format(newDate());System.out.println(date);结果是今天的日期,即23/03/2014但是当我这样做的时候SimpleDateFormatsdf=newSimpleDateFormat("dd/mm/yyyy");每次运行程序时,结果可以是23/05/2014、23/05/2014、23/06/2014等。为什么会这样? 最佳答案 这是因为mm是分钟,而不是

java - 错误 :The processing instruction target matching "[xX][mM][lL]" is not allowed

这个问题在这里已经有了答案:Error:Theprocessinginstructiontargetmatching"[xX][mM][lL]"isnotallowed(11个答案)关闭6年前。我正在使用eclipse编写一个android应用程序,但我停了下来。我尝试用关闭我的代码但是我一直收到错误信息"Theprocessinginstructiontargetmatching"[xX][mM][lL]"isnotallowed."代码如下:我做错了吗?如果我这样做了,请通知我。

java - 将 java.util.Date 转换为 yyyy-MM-dd 格式的字符串,而无需创建大量对象

我需要大量地将java.util.Date转换为yyyy-MM-dd格式的String。我刚刚迁移到Java8,想知道如何正确执行它。我使用Java7的解决方案是这样的:DateTimeFormatterDATE_FORMATTER=DateTimeFormat.forPattern(DATE_FORMAT_PATTERN)DATE_FORMATTER.print(value.getTime())它帮助我避免创建大量冗余对象。所以现在当我转移到java8时我想正确地重写它但是:LocalDate.fromDateFields(value).toString())每次都创建新的Local