小编Mat*_*int的帖子

RavenDb查询简单的地图变换索引

我一直在努力解决这个问题.

我有一个客户端对象(clients/513),如下所示:

{  
  "Risks": [
    {
      "Id": "421eacf0-14e9-4004-ab0b-95d20e976aac",
      "RiskFactor": "ElectricalEquipment",
      "Description": "Should be allowed to play with electronics."
    },
    {
      "Id": "4bbecbe2-acfc-45c3-b87a-3321e1eca95a",
      "RiskFactor": "ViolenceToStaffVerbal",
      "Description": "Tourettes"
    }
}
Run Code Online (Sandbox Code Playgroud)

我创建了一个包含以下代码的索引:

地图

from c in docs.Clients
from r in c.Risks
select new { ClientId = c.Id, RiskId = r.Id }
Run Code Online (Sandbox Code Playgroud)

转变

from c in results
from r in c.Risks
select new { ClientId = c.Id, RiskId = r.Id }
Run Code Online (Sandbox Code Playgroud)

认为我理解MAP只是定义了您希望能够搜索的属性.并且TRANSFORM以特定形状返回实际数据.

我想要返回ClientId,RiskId以及其他一些与风险相关的属性,这样我才能做到.As<ViewModel>(),但是当我执行查询时,我似乎得到了一些不一致的结果.(它喜欢改变它返回的结果数量,具体取决于我执行查询的次数,有时是4次,有时是5次).

另外:RiskId过滤似乎返回一个,有时返回多个Risk,id不是指定的Id.

任何帮助将非常感激.

ravendb

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

android:TimeZone.getDefault()返回EST,而不是EDT

当我在手机上使用TimeZone.getDefault()时,我得到了错误的时区(它应该是EDT,但它表示EST).当我进入手机的日期和时间设置时,它表示它已设置为EDT.我究竟做错了什么??

这是我的代码:

timezone = Calendar.getInstance().getTimeZone()
                                 .getDisplayName(false, TimeZone.SHORT);
Run Code Online (Sandbox Code Playgroud)

java timezone android

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

时区转换显示 EDT 而不是 EST

我正在使用这段代码将“东部时区”转换为“EST”。现在它显示“EDT”。您不会经常在某些地方看到该缩写,并且想坚持使用“EST”。如何使用 NodaTime 执行此操作?

 public static string GetTimeZoneAbbr(string timeZone)
        {

            var timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(timeZone);

            if (timeZoneInfo != null)
            {
                var dateTime = DateTime.UtcNow;
                var instant = Instant.FromDateTimeUtc(dateTime);
                var tzdbSource = TzdbDateTimeZoneSource.Default;
                var tzid = tzdbSource.MapTimeZoneId(timeZoneInfo);
                var dateTimeZone = DateTimeZoneProviders.Tzdb[tzid];
                var zoneInterval = dateTimeZone.GetZoneInterval(instant);
                return zoneInterval.Name;
            }

            return string.Empty;
        }
Run Code Online (Sandbox Code Playgroud)

.net c# time timezone nodatime

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

DateTime比较和夏令时/其他怪异

我有一个非常简单的日期需求,我需要能够比较2个文件的修改时间,我不需要任何其他信息,除了哪一个上次更新/它们是相同的.

我想知道在夏令时后,datetime COMPARISON(我不关心其他任何事情)会有什么反应.

让我们假设您在一段时间后更改文件X,然后在Y30分钟后再次更改文件(但时间实际上显示30分钟更早,因为日期由于节省而更改).

如果X&Y是2个日期时间,会发生什么?是X > YY > X?它是否比较显示的时间或滴答数?(我应该做的X > Y或者我应该比较X.TicksVS Y.Ticks?)

编辑:如果有人好奇,用例是我连续索引文件(多年),其中一些可能很少变化,我跳过任何不比我索引时更新的东西,所以如果我错过了一个,它可能是很久以前它再次改变并在索引中得到更新.

.net c# datetime dst

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

将新时区添加到moment.js时区

我必须将"亚洲/曼谷"(ICT)添加到moment.js,因为它似乎默认不支持它.

加载moment.js和moment-timezone.js后,我尝试按照此示例定义此特定时区:

moment.tz.add({
    "zones": {
        "Asia/Bangkok": [
            "6:42:4 - LMT 1880 6:42:4",
            "6:42:4 - BMT 1920_3 6:42:4",
            "7 - ICT"
        ],
    }
});

var currentTimeString = moment().tz('Asia/Bangkok').format('DD MMM YYYY, HH:mm:ss');
Run Code Online (Sandbox Code Playgroud)

但是,我一直收到错误:

"Moment Timezone没有亚洲/曼谷的数据.请参阅 http://momentjs.com/timezone/docs/#/data-loading/."

有什么想法吗?

javascript timezone datetime momentjs

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

如何在WinRT中清除TimeZoneInfo缓存?

在.NET中使用的一些值TimeZoneInfo被缓存,如当前使用的时区TimeZoneInfo.Local,DateTime.ToLocalTime等等.在传统的.NET架构的应用程序,该缓存可以通过调用被清除TimeZoneInfo.ClearCachedData(),如在文档解释.

但是,在WinRT应用程序(如Windows应用商店应用程序和Windows Universal Apps)中,ClearCachedDataAPI不可用.

如何清除WinRT环境中的时区缓存?

.net timezone windows-runtime uwp

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

为什么这个时区要修正夏令时

2016 年东部标准时间夏令时于 2016 年 3 月 13 日凌晨 2 点开始。此时时钟将调回到凌晨 1 点,从而使凌晨 2 点的时间无效。

此代码块报告 dateTime2 变量在凌晨 2 点的错误。

TimeZoneInfo timeZoneInfo1;
timeZoneInfo1 = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
var dateTime1 = TimeZoneInfo.ConvertTime(new DateTime(2016, 3, 13, 1, 0, 0), timeZoneInfo1);
var dateTime2 = TimeZoneInfo.ConvertTime(new DateTime(2016, 3, 13, 2, 0, 0), timeZoneInfo1);        //Reports invalid date error
var dateTime3 = TimeZoneInfo.ConvertTime(new DateTime(2016, 3, 13, 3, 0, 0), timeZoneInfo1);
Run Code Online (Sandbox Code Playgroud)

但是,在以下时区“南太平洋标准时间”的示例中,1990 年的夏令时于 10/13/1990@11pm 开始。这将使 dateTime4 10/13/1990@11pm 成为无效的日期/时间。

相反,dateTime4 返回有效日期/时间。

此外,dateTime5 返回为 10/14/1990@1am,自动跳过午夜时间。

dateTime6 返回为 10/14/1990@2am,而不是我预期的 1am。

TimeZoneInfo …
Run Code Online (Sandbox Code Playgroud)

c# timezone

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

clang++ 14不生成PDB文件

我的目标

我想使用 clang++ 14.0.6 和 mingw ucrt (类似 GCC)而不是clang-cl / clang-cpp 生成应用程序的 PDB 文件。

我的问题

未生成 PDB 文件。

我尝试过的

clang++ -march=native -O3 -g -gcodeview main.cpp -o filecomp.exe
Run Code Online (Sandbox Code Playgroud)

我在 --help、clang github issues 和现有的 SO 问题中查找信息,但到目前为止没有找到任何答案。
大多数人谈论旧版本的 Clang 解决方案对我不起作用,或者 Clang-cl 甚至 Visual Studio 捆绑的 clang-cl 与我的情况无关。

windows llvm clang pdb-files

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

postgresql采取时区更改,直到重新启动服务

我对postgresql时区感到有点困惑我正在检查某些行中的日期,我注意到它们中的时区-4但我的实际时区是-3政府对夏令时时区和tzdata文件进行了更改系统日期很好,但postgres在重新启动它之前没有注意到更改

我尝试用设置TIME ZONE LOCAL进行设置,但它的时间差得很快-4

select extract(epoch from now()),now();
date_part     |             now              
------------------+------------------------------
 1335240339.68894 | 2012-04-24 00:05:39.68894-04
(1 fila)
Run Code Online (Sandbox Code Playgroud)

但在我重新启动postgresql之后

# select extract(epoch from now()),now();
Run Code Online (Sandbox Code Playgroud)

date_part | 现在
---------------- + -------------------------------

  1335240403.672 | 2012-04-24 01:06:43.672002-03
 (1 fila)
Run Code Online (Sandbox Code Playgroud)

我的时区永远都是

 show timezone;
     TimeZone     
------------------
 America/Santiago
(1 fila)
Run Code Online (Sandbox Code Playgroud)

我可能需要每次更改tzdata信息时重新启动postgres吗?

postgresql timezone

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

RavenDB 2.x异步中的RegisterIdConvention

我正在尝试利用RavenDB的DocumentConvention API在我的域对象上自动设置增量ID.

我在IDocumentStore上使用这行代码完美地工作了:

DocumentStore.Conventions.RegisterIdConvention<User>
    ((dbname, commands, user) => "users/" + commands.NextIdentityFor("users"));
Run Code Online (Sandbox Code Playgroud)

每当我存储没有已设置ID的新User对象时,这将创建具有"users/1","users/2"等的用户对象的顺序ID .

但是,我想为Async文档会话执行此操作,但是在调用RegisterAsyncIdConvention()时无法找到有关如何从会话中获取"Next Identity"的任何文档...

docStore.Conventions.RegisterAsyncIdConvention<User>
    ((dbname, commands, user) => "users/" + commands.NextIdentityFor("users"));
Run Code Online (Sandbox Code Playgroud)

......不编译,因为NextIdentityFor不可用的IAsyncDatabaseCommands接口.

任何人都可以给我任何提示吗?还有人试过这个吗?

谢谢.

c# asynchronous ravendb

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