gpt4 book ai didi

java - future 的日历DatePicker

转载 作者:行者123 更新时间:2023-12-02 09:38:27 25 4
gpt4 key购买 nike

我希望能够让 javascript 自动选择从今天算起的 2 天,不知道如何执行它。 “ValueFrom”当前正在自动选择 LocalDate。

要更改的代码:“ValueTo”

public CorporateMessagesPage selectDateAndPlaceOrder() 
{
String valueFrom = "arguments[0].value = '" + DateTime.now().toString("dd/MM/yyyy") + "'";


String valueTo = (valueFrom +2);

JavascriptExecutor javascriptExecutor = (JavascriptExecutor) webDriver;
System.out.print(String.valueOf(LocalDate.now()));

javascriptExecutor.executeScript(valueFrom, validFromDate);

javascriptExecutor.executeScript(valueTo, validToDate);

return PageFactory.initElements(webDriver, CorporateMessagesPage.class);
}

我希望“ValueTo”等于“ValueFrom”+ 2 天。

Blockquote

最佳答案

tl;博士

您可以使用 Java 中行业领先的 java.time 类来完成这一切。不需要 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`.

查看此code run live at IdeOne.com .

03/08/2019

java.time

本地日期

LocalDate类表示仅日期值,没有日期时间,也没有 time zoneoffset-from-UTC .

时区对于确定日期至关重要。对于任何特定时刻,全局各地的日期都会因地区而异。例如,Paris France 午夜过后几分钟Montréal Québec 是新的一天,但仍然是“昨天” .

如果未指定时区,JVM 会隐式应用其当前的默认时区。该默认值可能 change at any moment在运行时(!),所以你的结果可能会有所不同。最好明确指定您想要/预期的时区作为参数。如果重要,请与您的用户确认该区域。

指定proper time zone name格式为Continent/Region,例如America/MontrealAfrica/Cas​​ablancaPacific/Auckland 。切勿使用 2-4 个字母的缩写,例如 ESTIST,因为它们不是真正的时区,不是标准化的,甚至不是唯一的( !)。

ZoneId z = ZoneId.of( "America/Montreal" ) ;  
LocalDate today = LocalDate.now( z ) ;

如果您想使用 JVM 当前的默认时区,请询问它并作为参数传递。如果省略,代码读起来会变得不明确,因为我们不确定您是否打算使用默认值,或者您是否像许多程序员一样没有意识到这个问题。

ZoneId z = ZoneId.systemDefault() ;  // Get JVM’s current default time zone.

日期数学

使用 LocalDate 上的 plus...minus... 方法来提前或推迟时间。

LocalDate dayAfterNext = LocalDate.now( z ).plusDays( 2 ) ;

或者使用Period类。

Period twoDays = Period.ofDays( 2 ) ;
LocalDate later = LocalDate.now( z ).plus( twoDays ) ;

生成文本

使用DateTimeFormatter生成表示LocalDate对象值的文本。您可以自动本地化或指定自定义格式模式。 Stack Overflow 上已经对这两个问题进行了多次介绍,因此请搜索以了解更多信息。

关于java - future 的日历DatePicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57307899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com