2 回答
TA贡献1809条经验 获得超8个赞
您可以使用其行业领先的java.time类在 Java 中完成所有这些工作。不需要 JavaScript。
LocalDate // Represent a date-only value, without time-of-day and without time zone or offset-from-UTC.
.now() // Capture the date as seen in the wall-clock time in the JVM’s current default time zone. Better to specify the desired/expected time zone explicitly.
.plusDays( 2 ) // Date math, adding days to move forward in time.
.format( // Generate text to represent the value of this date.
DateTimeFormatter // Specify format.
.ofLocalizedDate( // Automatically localize according to the human language and cultural norms of a specific `Locale`.
FormatStyle.SHORT // How long or abbreviated to present this value.
) // Returns a `DateTimeFormatter` object.
.withLocale( Locale.UK ) // Returns another `DateTimeFormatter` object, per Immutable Objects pattern.
) // Returns a `String`.
03/08/2019
java.time
LocalDate
该类LocalDate
表示没有日期时间和时区或offset-from-UTC 的仅日期值。
时区对于确定日期至关重要。对于任何给定时刻,日期在全球范围内因地区而异。例如,在法国巴黎午夜过后几分钟是新的一天,而在魁北克蒙特利尔仍然是“昨天” 。
如果未指定时区,则 JVM 隐式应用其当前默认时区。该默认值可能会在运行时随时更改(!),因此您的结果可能会有所不同。最好明确指定您想要/预期的时区作为参数。如果关键,请与您的用户确认该区域。
以、或 等格式指定适当的时区名称。切勿使用 2-4 字母缩写,例如或因为它们不是真正的时区、未标准化,甚至不是唯一的(!)。Continent/Region
America/Montreal
Africa/Casablanca
Pacific/Auckland
EST
IST
ZoneId z = ZoneId.of( "America/Montreal" ) ; LocalDate today = LocalDate.now( z ) ;
如果你想使用 JVM 的当前默认时区,请求它并作为参数传递。如果省略,代码将变得难以阅读,因为我们不确定您是否打算使用默认值,或者您是否像许多程序员一样没有意识到这个问题。
ZoneId z = ZoneId.systemDefault() ; // Get JVM’s current default time zone.
日期数学
使用上找到的plus…
&方法及时向前或向后移动。minus…
LocalDate
LocalDate dayAfterNext = LocalDate.now( z ).plusDays( 2 ) ;
或者使用Period
类。
Period twoDays = Period.ofDays( 2 ) ; LocalDate later = LocalDate.now( z ).plus( twoDays ) ;
生成文本
用于DateTimeFormatter
生成表示对象值的文本LocalDate
。您可以自动本地化或指定自定义格式模式。
TA贡献1827条经验 获得超8个赞
您可以使用 java calendar 来获得您想要的时间
SimpleDateFormat obj_dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Calendar calender = Calendar.getInstance();
//get valueFrom
String valueFrom = obj_dateFormat.format(new Date(calender.getTimeInMillis()));
//Add 2 days in current time
calender.add(Calendar.DAY_OF_MONTH, 2);
//get valueTo
String valueTo = obj_dateFormat.format(new Date(calender.getTimeInMillis()));
添加回答
举报