小编Tav*_*nes的帖子

如何为Joda的DateTime.parse()设置默认时区

我想使用Joda Time来解析没有具有特定默认区域(例如UTC)的显式时区的时间,但是如果存在则使用显式区域.例如:

parse("2014-02-11T12:00:00")       // Should be UTC
parse("2014-02-11T12:00:00+02:00") // Should be +2 hours
Run Code Online (Sandbox Code Playgroud)

我尝试的一切都有一些问题:

DateTime.parse("2014-02-11T12:00:00") // Gives the server time zone, -5 hours

ISODateTimeFormat.dateTimeParser()
        .withZone(DateTimeZone.UTC)
        .parseDateTime("2014-02-11T12:00:00+02:00"); // Gives UTC
Run Code Online (Sandbox Code Playgroud)

基本上我想要withZone()withOffsetParsed()同时的行为,但他们互相覆盖.

我不想更改整个JVM的默认时区.

java jodatime

3
推荐指数
1
解决办法
847
查看次数

到目前为止,如何判断BOOST_CHECK测试是否失败?

我有一个使用的增强测试用例BOOST_CHECK*,因此失败不会立即停止测试.但是在某些时候,如果到目前为止发生任何测试失败,我想停止,因为如果完整性检查失败,测试的其余部分是没有意义的吗?例如:

BOOST_AUTO_TEST_CASE(test_something) {
    Foo foo;
    BOOST_CHECK(foo.is_initialized());
    BOOST_CHECK(foo.is_ready());
    BOOST_CHECK(foo.is_connected());
    // ...

    // I want something like this:
    BOOST_REQUIRE_CHECKS_HAVE_PASSED();

    foo.do_something();
    BOOST_CHECK(foo.is_successful());
}
Run Code Online (Sandbox Code Playgroud)

c++ boost boost-test

3
推荐指数
1
解决办法
946
查看次数

我可以强制 git 保持离线状态吗?

我想要一个没有文件内容的 git 存储库的裸浅克隆,因为我感兴趣的是文件路径本身。这很好用:

$ git clone --bare --depth=1 --filter=blob:none --branch="118.0.5977.1" "https://github.com/chromium/chromium.git"
Cloning into bare repository 'chromium.git'...
remote: Enumerating objects: 34624, done.
remote: Counting objects: 100% (34624/34624), done.
remote: Compressing objects: 100% (25673/25673), done.
remote: Total 34624 (delta 1647), reused 21869 (delta 1304), pack-reused 0
Receiving objects: 100% (34624/34624), 13.72 MiB | 16.20 MiB/s, done.
Resolving deltas: 100% (1647/1647), done.
Run Code Online (Sandbox Code Playgroud)

它在大约 3 秒内完成,并且仅占用磁盘上的 15 MiB。我可以通过 获取路径git ls-tree -r HEAD

然而,各种 git 命令似乎想要从远程存储库获取额外的数据。例如

$ cd chromium.git
$ git log …
Run Code Online (Sandbox Code Playgroud)

git

2
推荐指数
1
解决办法
105
查看次数

使用递归分治算法计算整数幂

我已经实现了一个递归函数来查找 m^n(m 的 n 次方)。

现在我想实现相同的功能,但将问题分成两个相等的部分,例如

m^n = m^(n/2) * m^(n/2) = ...(对于偶数 n 个,m^2、m^4、m^6)。

在下面的实现中,如果我给出 m = 2 和 n = 4 ,我的输出是4,而它应该是16

public class Recursion {

  public static void main(String[] args) {
    System.out.println(pow(2, 4));
  }

  public static long pow(long m,long n) { 
    if (n > 0)
      return m * pow(m, ((n/2) - 1) * pow(m, ((n/2) - 1)));
    else
      return 1;
  }

}
Run Code Online (Sandbox Code Playgroud)

java recursion

1
推荐指数
1
解决办法
1713
查看次数

标签 统计

java ×2

boost ×1

boost-test ×1

c++ ×1

git ×1

jodatime ×1

recursion ×1