标签: timezone-offset

为什么我的strtotime("今天")不起作用?

我正在尝试从用户的当前日期开始创建一个选择列表.我希望它以unix时间戳格式设置为午夜.

这就是我正在做的事情:

$today = strtotime('today');
echo $today;
Run Code Online (Sandbox Code Playgroud)

这是我的结果:

1333144800
Run Code Online (Sandbox Code Playgroud)

这是:星期五,2012年3月30日22:00:00 GMT根据Epoch Converter

php unix time strtotime timezone-offset

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

SQL查询中的时区转换

我正在使用查询从Oracle DB获取一些应用程序收到日期,该日期存储为GMT.现在我必须在检索时将其转换为东部标准/夏令时.我使用以下查询:

   select to_char (new_time(application_recv_date,'gmt','est'), 'MON dd, YYYY') from application
Run Code Online (Sandbox Code Playgroud)

它适用于标准时间.但是对于夏令时,我们需要根据时区信息将其转换为'edt'.我不太清楚如何做到这一点.请帮帮我

sql oracle gmt timezone-offset

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

以小时为单位获得时区差异

我想通过Node.js时刻模块获得纽约和香港之间的时区差异.我做了一些初步的工作.

var NewYork_time_hr = moment().tz("America/New_York").format('HH'); 
var HongKong_time_hr = moment().tz("Asia/Hong_Kong").format('HH');
Run Code Online (Sandbox Code Playgroud)

然后我可以继续编写一个函数来计算2个时区之间的差异,以小时为单位.我希望有一个更简单的方法.

使用时刻库​​有更优雅,更简单的方法吗?

javascript timezone node.js timezone-offset momentjs

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

Java 8偏移日期解析

我需要将以下格式的String解析为2015-01-15-05:00UTC中的LocalDate(或其他).问题是以下代码:

System.out.println(LocalDate.parse("2015-01-15-05:00", DateTimeFormatter.ISO_OFFSET_DATE));
Run Code Online (Sandbox Code Playgroud)

输出2015-01-15忽略偏移量.期望的输出是2015-01-16

提前致谢!

java timezone-offset java-8 java-time

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

为什么`java.time.ZoneOffset`实例排序'向后'?

文档:

偏移量按它们在世界各地的同一时间发生的顺序进行比较.因此,+10:00的偏移量在+09:00的偏移量之前出现,依此类推,直至-18:00.

有谁知道他们这样订购的原因?这似乎是违反直觉的,因为它与偏移的数值的顺序相反.它也是在GMT/UTC + 0居中地图上从左到右阅读的顺序的反面.

(旁白:我不明白为什么引用的文件提到"下降到-18:00".-12:00或-24:00我明白了.为什么-18:00?如果打印出偏移量所有支持的java.time.ZoneId时区范围从-11:00到+12:00.)

更新:我的回答.从同一文档中的其他地方:

2008年,世界各地的时区抵消时间从-12:00延长至+14:00.为了防止该范围的任何问题被扩展,但仍然提供验证,偏移范围限制在-18:00至18:00(含).

java timezone timezone-offset

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

TZupdater失败了tzdata2016g版本

TZUpdater 2.1.0因tzdata2016g版本而失败.对于Java 8,它失败了,"源目录不包含file:VERSION"错误,而它完成了Java 7的"JRE updated to version:tzdataunknown"注释.

这样做的原因似乎是IANA tzdata发布的最近更改:取消设置Makefile的VERSION字段.有关此问题的报告存在错误:https://bugs.openjdk.java.net/browse/JDK-8166928.

DST日期(2016年10月30日)越来越近,我们至少需要一个解决方法.不知何故,这可能吗?

java timezone timezone-offset java-time

9
推荐指数
2
解决办法
3535
查看次数

moment.js,时区和夏令时

我从.Net服务返回UTC日期/时间列表,格式如下:

"2013-07-09 19:48:07 +00:00".
Run Code Online (Sandbox Code Playgroud)

在客户端上,我将每个字符串值转换为相应的基于UTC的时刻,就像这样

var fooUtc = new moment.utc(serverDateTimeString)
Run Code Online (Sandbox Code Playgroud)

在页面上,有一个下垂,其中包含用户可以更改的时区列表.这些绑定到时区对象的集合,如下所示:

{
    id: "Central Standard Time",
    label: "(UTC-06:00) Central Time (US & Canada)",
    observesDaylightSavings: true,
    baseUtcOffset: {
        asHours: -6,
        asMinutes: -360,
        asText: "-06:00"
}
Run Code Online (Sandbox Code Playgroud)

然后我显示传递所选时区偏移的每个时刻,如下所示:

fooUtc.local().zone(selectedTimeZone.baseUtcOffset.asMinutes).format()
Run Code Online (Sandbox Code Playgroud)

但是,结果没有考虑夏令时,因为来自.Net的时区数据不能区分dst和非dst偏移.

有没有办法让这个工作与moment.js或新的时刻 - 时区位?我认为可以将标准UTC偏移名称(例如:"中央标准时间")映射到给定时区的Olson数据库标识符(例如:"America/Chicago"),但如果有更简单的方法,请让我知道.

javascript timezone dst timezone-offset momentjs

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

为什么UTC(不是时区)被认为是Java中的时区(而不仅仅是那里)?

鉴于UTC不是时区,而是时间标准(例如,如此处所述),为什么在我的Java应用程序中我可以使用UTC,就好像它是一个时区(请参阅下面的代码片段)?

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
format.setTimeZone(TimeZone.getTimeZone("UTC"));
Run Code Online (Sandbox Code Playgroud)

如果UTC不是时区,为什么TimeZone.getTimeZone("UTC")能够返回时区对象?


顺便说一句,在我的Windows机器上,UTC也在时区列表中(参见屏幕截图).

声明"UTC不是时区"实际上是错误的吗?

UTC是Windows中的时区

java windows timezone utc timezone-offset

8
推荐指数
2
解决办法
1155
查看次数

Sequelize 设置时区进行查询

我目前在我的项目中使用带有postgresSequelize。我需要更改查询,因此它返回带有时区偏移量的 created_at 列。

var sequelize = new Sequelize(connStr, {
dialectOptions: {
    useUTC: false //for reading from database
},
timezone: '+08:00' //for writing to database
Run Code Online (Sandbox Code Playgroud)

});

但这会影响整个数据库。但我只需要将时区用于选择查询。有谁知道这是怎么做到的吗?

postgresql select timezone-offset sequelize.js

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

DateTimeOffset解析和自定义时区

我们将 XML DateTime 值解析为 DateTimeOffset 值。根据DateTime 的 W3C XSD 文档,该类型可能有时区信息,也可能没有。

我们的要求是:

  • 如果 XML 中提供了时区信息,请使用此时区
  • 如果未提供时区信息,则假定它是预定义的可配置时区(而不是服务器中的时区)中的本地时间。

问题是,当没有时区的 XML DateTime 被解析为 DateTimeOffset 时,它默认使用本地(系统)时区。似乎无法覆盖默认时区,也无法识别时区是在内部解析还是添加的。

有什么方法可以指定 DateTimeOffset 解析使用的默认时区吗?
如果不是,如何确定在解析 DateTimeOffset 期间是否自动解析或添加了时区?

我觉得奇怪的是,不支持像设置当前区域性那样为 .NET 应用程序设置时区。

因此,解决此问题的唯一方法似乎是首先将值解析为 DateTime 并检查 Kind 属性。如果 Kind 不是Unspecified,则再次将该值解析为 DateTimeOffset:

/*
sample values:
- 2015-06-03T10:47:01
- 2015-06-03T07:47:01Z
- 2015-06-03T10:47:01+03:00
*/

DateTimeOffset dto;
var timeZone = TimeZoneInfo.FindSystemTimeZoneById(ConfigurationManager.AppSettings["DefaultTimeZone"]);
var dt = DateTime.Parse(value);

if (dt.Kind == DateTimeKind.Unspecified)
{
    dto = new DateTimeOffset(dt, timeZone.GetUtcOffset(dt));
}
else
{
    dto = DateTimeOffset.Parse(value);
}
Run Code Online (Sandbox Code Playgroud)

c# timezone datetimeoffset timezone-offset

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