小编Kri*_*tty的帖子

PHP的DST处理时区

我正在处理日历应用程序.在这个来自不同时区的用户创建/查看事件.我想按照以下方法以UTC格式保存事件时间并在用户的本地时间显示它们.注意:用户具有首选时区设置.

要将事件开始时间保存为UTC时间戳:

$timezone = new DateTimeZone( $user_timezone_name );
$utcOffset = $timezone->getOffset( new DateTime( $event_start_time_string_local ) );
$event_start_timestamp_local = maketime( $event_start_time_string_local );
//Now add/subtract $utcOffset to/from $event_start_timestamp_local to get event's start  //time  timestamp in UTC and save this result in DB.
Run Code Online (Sandbox Code Playgroud)

要在用户的时区中获取事件开始时间:

date_default_timezone_set( $user_timezone_name );
$eventTimeLocalTime = date("Y-m-d H:i:s", $event_start_timestamp_in_UTC );
Run Code Online (Sandbox Code Playgroud)

哪里:

user_timezone_name is user's timezone setting.
event_start_time_string_local is event's start time string in local/civil time.
event_start_timestamp_in_UTC is event's start time timestamp in UTC.
Run Code Online (Sandbox Code Playgroud)

我的问题:

  • 上面使用的PHP API是否负责所有区域的DST?
  • DST时间本身会在不同年份发生变化,PHP如何获取有关此信息的信息?我们需要升级PHP吗?如果是这样,我们需要升级所有或特定的PHP库吗?

参考文献: - do-phps-date-default-timezone-set-adjust-to-daylight-saving …

php datetime utc dst timezone-offset

15
推荐指数
2
解决办法
2万
查看次数

在Neo4j中将字符串数组存储为节点属性的最佳方法是什么

我有一个要求,其中属性键可以包含多个值.如何在Neo4j中将它们存储为属性?

例如:Person节点具有以下属性:'name','age'和'interests''interest'属性可以包含多个字符串(字符串数组).

存储"利益"的最佳方法是什么?我想我不想通过添加更多节点来使这一点复杂化.相反,我希望将所有属性保留在同一个Person节点中.

此外,如果我可以通过'interests'属性中的任何一个项搜索Person节点,那将是一件好事.

存储为由一些特殊字符分隔的一个字符串?存储为属性的字符串数组?如果是这样我该怎么做?

谢谢

neo4j cypher

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

如何更改/更新Neo4j中的标签 - Cypher?

是否可以使用Cypher更改节点上的标签?我有一个带标签的节点Book,如下所示.我想将Book标签更改为DeletedBook.

(u:Person)-[r]-(b:Book{id:id1})

(u:Person)-[r]-(b:DeletedBook{id:id1})
Run Code Online (Sandbox Code Playgroud)

neo4j cypher

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

分析线程转储 - sun.misc.Unsafe.park 上有很多被阻塞的线程

使用 akka 框架应用程序修复 Java play 中的性能问题。基本上消费和处理来自队列的消息。并且在处理每条消息时大量使用外部服务 API。我在某些情况下遇到 CPU 负载问题,试图找到根本原因。这是 CPU ~100% 时主机之一的线程转储。

我看到很多带有 sun.misc.Unsafe.park 的阻塞线程,但没有看到任何应用程序代码信息。这些被阻塞的是在等待 IO 吗?你能给一些提示吗?谢谢

    1032 BLOCKED
threads

    Thread 34542 - threadId:Thread 34542 - state:BLOCKED
    stackTrace:
    - sun.misc.Unsafe.park(boolean, long) @bci=0 (Compiled frame; information may be imprecise)
    - java.util.concurrent.locks.LockSupport.parkNanos(java.lang.Object, long) @bci=20, line=226 (Compiled frame)
    - java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(long) @bci=68, line=2082 (Compiled frame)
    - java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take() @bci=122, line=1090 (Compiled frame)
    - java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take() @bci=1, line=807 (Compiled frame)
    - java.util.concurrent.ThreadPoolExecutor.getTask() @bci=156, line=1068 (Compiled frame)
    - java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker) @bci=26, line=1130 (Compiled frame)
    - java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=5, line=615 (Interpreted …
Run Code Online (Sandbox Code Playgroud)

java multithreading thread-dump akka playframework

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

如何获得 ISO 3166-1 兼容的国家代码?

我正在按国家/地区名称显示时区列表。

如此处所回答: PHP/Zend Framework 中的国家/地区到时区

我想打电话DateTimeZone::listIdentifiers(DateTimeZone::PER_COUNTRY, 'US')按国家/地区列出所有时区。

有没有什么简单的方法可以在 PHP(PHP 5.3)中获取 ISO 3166-1 兼容的国家代码列表及其对应的名称?

php iso-3166

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

MERGE当其中一个属性具有唯一约束时

我正在尝试使用以下查询创建或更新节点:

MERGE (u:Book{id:{id1},name:{name1}}) RETURN u

在这里,id是唯一的,但名称可以改变.

但是,这不适用于更新.

我得到以下错误:

Node 38 already exists with label Book and property "id"=[1166]

当其中一个属性具有唯一约束时,我不能使用MERGE吗?

注意:版本:neo4j-enterprise-2.0.1架构:索引ON:Book(id)ONLINE(用于唯一性约束)

约束ON(书:书)ASSERT book.guid IS UNIQUE

neo4j cypher

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