【问题标题】:Add millisecond value to today's date and display Date, And Month and Year (Date, Month and Year are each separate values)将毫秒值添加到今天的日期并显示日期、月份和年份(日期、月份和年份都是单独的值)
【发布时间】:2012-10-15 19:15:37
【问题描述】:

我正在尝试在 Selenium 中创建一个测试脚本,我需要输入一个日期。我已经弄清楚如何使用以下方法获取日期:

storeEval var d=new Date(); d.getDate() 当前日期
存储 Eval var m=new Date(); (m.getMonth()+1) 当前月份
storeEval var y=new Date(); y.getFullYear() 当前年份

现在我想为过去和未来的时间创建变量。有人告诉我我可以用毫秒来做到这一点,这太棒了,但我能做到的最接近的是:

storeEval new Date().getTime()+604800000 //604800000- 未来 7 天

我回来了:1350932638018 根据我发现的这个惊人的calculator 提前 7 天。

那么,我如何获取我找到的数字并像今天的日期一样提取日期、月份和年份。

【问题讨论】:

    标签: javascript date selenium


    【解决方案1】:

    如果您的未来日期存储在变量d 中,那么它应该很简单:

    var n = new Date(d);
    

    或者如果它没有存储在变量中,那么可能是这样的?

    var n = new Date(Date().getTime()+604800000);
    

    然后现在n 是一个日期对象,您应该可以使用.getFullYear() 方法。

    看看这个小提琴,看看它是否有帮助:http://jsfiddle.net/wVVmw/

    【讨论】:

    • 抛出异常:Date().getTime is not a function :0(
    • 这可能是因为这是一个 javascript 答案而不是 Selenium 答案。但是您是说 Date.getTime() 返回一个数字对吗?
    • 是的,Date.getTime() 确实返回一个数字。然后我想从那个答案中提取月份或年份。 :0)
    • @Orli 我添加了一个小提琴,让我知道这是否对你有帮助!
    • 谢谢,看来我可以返回这个数字,但每次我尝试将它保存为 var 时,它都会在 getTime 上引发异常。我想我需要阅读我的 Selenium。但是非常感谢你的台词,这正是我想要的......如果只有 Selenium 会喜欢它。 :0)
    【解决方案2】:

    使用toDateString()

    所以,

    var newDate = (Date().getTime()+604800000).toDateString();
    

    应该在 2012 年 10 月 22 日星期一返回

    我不知道 selenium,但它看起来像 JavaScript。

    【讨论】:

    • 它抛出一个异常:Date().getTime 不是一个函数:0(我试图在我的 Selenium 中使用 javascript.. 因此有多个障碍。
    • 看起来@frshca 可能是对的。 Date() 可以将像 1350932638018 这样的数字作为参数并将其转换为日期。例如,var n = new Date(1350932638018) 将是 2012 年 10 月 22 日
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    • 2019-07-10
    • 2020-01-24
    • 1970-01-01
    相关资源
    最近更新 更多