java中,如何获取23小时前的时间 返回值需要date型。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中,如何获取23小时前的时间 返回值需要date型。相关的知识,希望对你有一定的参考价值。

import java.sql.Date; //导入包

public class Demo2

public static void main(String[] args)
long nowDate =System.currentTimeMillis(); //获取当前时间,注意这里获取的是毫秒数
final long updateTime=23*60*60*1000; //23小时时间的总共毫秒数
System.out.println("23小时之前的日期是:" +new Date(nowDate-updateTime));//


==========================================================================
输出结果:23小时之前的日期是:2012-02-22
参考技术A /**
* 获取指定时间倒退指定小时数的时间
*/
public static Date getTheDateBefore(Date now,int hours)
return new Date(now.getTime() - 1000 * 60 * hours);



由此方法,可以延伸出倒退指定分,指定秒,指定天,指定周等方法。
参考技术B Calendar c = Calendar.getInstance();
c.add(Calendar.HOUR, -23);
Date d = c.getTime();本回答被提问者采纳
参考技术C Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis()-23*60*60*1000);//过去23小时
Date dateTime = calendar.getTime();

如何获取xcodebuild的返回值?

【中文标题】如何获取xcodebuild的返回值?【英文标题】:How to get the return value of xcodebuild? 【发布时间】:2011-09-09 14:47:19 【问题描述】:

我在持续集成服务器上的 bash 脚本中使用 xcodebuild。

我想知道脚本中的构建何时失败,因此我可以提前退出并将构建标记为失败。

xcodebuild 向控制台显示 BUILD FAILED 消息,但我没有成功获取返回值。

我怎样才能做到这一点?

提前致谢

【问题讨论】:

【参考方案1】:

我使用以下命令解决了我的问题:xcodebuild -... || 1号出口

【讨论】:

这是最干净的答案。谢谢迈克;) 真是个天才!谢谢朋友。【参考方案2】:

xcodebuild 始终返回 0,无论实际测试结果如何。您应该检查输出中的 ** BUILD FAILED **** BUILD SUCCEEDED ** 以了解测试是否通过。

【讨论】:

我们如何检查这些状态?它们不像退出代码 AFAIK【参考方案3】:

您可以使用“$?”变量来获取上一条命令的返回码。

xcodebuild -...
if [[ $? == 0 ]]; then
    echo "Success"
else
    echo "Failed"
fi

【讨论】:

【参考方案4】:

Xcodebuild 可以返回下面列出的任何错误代码,并且不限于 EX_OK(或 int 0)。

但是,我从 Dmitry 提供的解决方案中学习并修改如下。它对我有用,我希望它会有所帮助。

xcodebuild -project ......
     if test $? -eq 0
     then
        echo "Success"
     else
        echo "Failed"
     fi

错误代码

以下是可以为returned by sysexits的错误码archive

EX_OK (0):成功退出。 EX_USAGE (64):命令使用不正确,例如,参数数量错误、标志错误、参数中的语法错误等等。 EX_DATAERR (65): 输入数据在某些方面不正确。这应该只用于用户的数据,而不是系统文件。 EX_NOINPUT (66):输入文件(不是系统文件)不存在或不可读。这也可能包括像“没有消息”这样的错误发给邮件程序(如果它想抓住它的话)。 EX_NOUSER (67): 指定的用户不存在。这可能用于邮件地址或远程登录。 EX_NOHOST (68):指定的主机不存在。这用于邮件地址或网络请求。 EX_UNAVAILABLE (69):服务不可用。如果支持程序或文件不存在,则会发生这种情况。当您想做的事情不起作用但您不知道原因时,这也可以用作一个包罗万象的信息。 EX_SOFTWARE (70):检测到内部软件错误。这应尽可能限制为与非操作性非操作系统相关的错误。 EX_OSERR (71):检测到操作系统错误。这旨在用于cannot fork'',cannot create pipe'' 等。它包括 getuid 返回密码文件中不存在的用户等内容。 EX_OSFILE (72):某些系统文件(例如,/etc/passwd、/var/run/utmp 等)不存在、无法打开或出现某种错误(例如,语法错误)。 EX_CANTCREAT (73):无法创建(用户指定的)输出文件。 EX_IOERR (74):对某个文件执行 I/O 时出错。 EX_TEMPFAIL (75): 暂时失败,表明某些东西并不是真正的错误。在 send-mail、sendmail、mail 中,这意味着邮件程序(例如)无法创建连接,应稍后重新尝试请求。 EX_PROTOCOL (76):远程系统在协议交换期间返回了“不可能”的内容。 EX_NOPERM (77):您没有足够的权限执行该操作。这不适用于文件系统问题,应该使用 EX_NOINPUTEX_CANTCREAT,而是用于更高级别的权限。 EX_CONFIG (78):发现某些东西处于未配置或配置错误的状态。

欲了解更多信息click here。

【讨论】:

【参考方案5】:

也许不是因为 xcodebuild 在构建失败时没有返回非零值。无论返回错误行如何,您的 shell 脚本都会继续运行,这可能是您没有使用“-e”选项运行脚本的结果。

尝试将 #!/bin/bash -e 放在脚本文件之前。

【讨论】:

【参考方案6】:

通常,您可以随时通过以下方式检查 Unix bash 中上次运行进程的存在值:

$ echo $?

其中$? 是最后执行命令的存在值的内置占位符。有关其他 bash 内置变量的更多详细信息,请参阅here。

所以,首先运行您想要调查其返回码的命令,然后像上面一样运行 echo。

【讨论】:

【参考方案7】:

编译后的产品(.a或.ipa文件)是否存在

【讨论】:

以上是关于java中,如何获取23小时前的时间 返回值需要date型。的主要内容,如果未能解决你的问题,请参考以下文章

php如何获得昨天23:59:59的时间戳

Sqlite 返回最新值与 24 小时前值之间的行差异

Java 获取当前时间的小时(24小时制)

php中只获取时间中的小时函数我只想知道现在是几点就可以了

如何在 java 上设置日期的 24 小时格式?

JAVA如何获取当前小时的毫秒数呢?是当前小时,比如2014-03-04 下午16:00:00的毫秒数