猿问

未来的日历 DatePicker

我希望能够使 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 天。


块引用


紫衣仙女
浏览 90回答 2
2回答

海绵宝宝撒

您可以使用其行业领先的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/2019java.timeLocalDate该类LocalDate表示没有日期时间和时区或offset-from-UTC 的仅日期值。时区对于确定日期至关重要。对于任何给定时刻,日期在全球范围内因地区而异。例如,在法国巴黎午夜过后几分钟是新的一天,而在魁北克蒙特利尔仍然是“昨天” 。如果未指定时区,则 JVM 隐式应用其当前默认时区。该默认值可能会在运行时随时更改(!),因此您的结果可能会有所不同。最好明确指定您想要/预期的时区作为参数。如果关键,请与您的用户确认该区域。以、或 等格式指定适当的时区名称。切勿使用 2-4 字母缩写,例如或因为它们不是真正的时区、未标准化,甚至不是唯一的(!)。Continent/RegionAmerica/MontrealAfrica/CasablancaPacific/AucklandESTISTZoneId z = ZoneId.of( "America/Montreal" ) ;   LocalDate today = LocalDate.now( z ) ;如果你想使用 JVM 的当前默认时区,请求它并作为参数传递。如果省略,代码将变得难以阅读,因为我们不确定您是否打算使用默认值,或者您是否像许多程序员一样没有意识到这个问题。ZoneId z = ZoneId.systemDefault() ;  // Get JVM’s current default time zone.日期数学使用上找到的plus…&方法及时向前或向后移动。minus…LocalDateLocalDate dayAfterNext = LocalDate.now( z ).plusDays( 2 ) ;或者使用Period类。Period twoDays = Period.ofDays( 2 ) ; LocalDate later = LocalDate.now( z ).plus( twoDays ) ;生成文本用于DateTimeFormatter生成表示对象值的文本LocalDate。您可以自动本地化或指定自定义格式模式。

斯蒂芬大帝

您可以使用 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()));
随时随地看视频慕课网APP

相关分类

Java
我要回答