- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的 mysql 数据库中存储了一个日期时间字段,其中包含以英国时间设置的事件的时间。在下面使用的示例中,这个时间是 09:00。
我正尝试在美国西海岸和东海岸时区显示这个时间。
我相信我正确地使用了 php DateTime 'setTimeZone' 函数 - 但是返回的结果对于两个时区来说都是一个小时
$online->getTimeByZone('America/Los_Angeles'); // Returns 02:00
$online->getTimeByZone('America/New_York'); // Returns 05:00
public function getTimeByZone($timezone = 'Europe/London') {
$date = $this->getDateField('start_time', 'Y-m-d H:i:s'); // 2017-10-30 09:00:00
$datetime = new DateTime($date, new DateTimeZone('Europe/London'));
$datetime->setTimeZone(new dateTimeZone($timezone));
return $datetime->format('H:i');
}
我假设从时差来看这将与英国观察夏令时有关 - 但我本以为我正在使用“欧洲/伦敦”启动 DateTime 对象,这将被考虑在内。
有什么想法吗?
最佳答案
您选择了北美仍在遵守“夏令时”但英国不遵守“夏令时”时出现在小窗口中的示例日期:英国时钟在 10 月的最后一个星期日改变,但美国和加拿大时钟在 11 月的第一个星期日。
在此重叠周内,美国/纽约时间为 UTC-4(“东部夏令时”),欧洲/伦敦时间为 UTC+0(“格林威治标准时间”)。因此,“2017-10-30 09:00:00 Europe/London”确实是“2017-10-30 05:00:00 America/New_York”。
如果您选择一周前的日期,偏移量将为 UTC-4 和 UTC+1(“英国夏令时”);一周后,它们将是 UTC-5(“东部标准时间”)和 UTC+0;因此在一年中的大部分时间里,您认为预期的差异是 5 小时是正确的。
3 月还有两周,北美会提前更改时钟,因此同样会有 4 小时的偏移,而不是 5 小时。
(当然这同样适用于美国/洛杉矶时区,在这三周内相隔 6 小时而不是 7 小时。)
关于PHP setTimeZone 时区转换问题 - 由于 BST (GMT+1) 而造成的特性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46814633/
有什么区别 SimpleDateFormat.setTimeZone() 和 Calendar.setTimeZone()? 最佳答案 SimpleDateFormat 将在格式化期间使用指定的时区,
当我写这段代码时: Calendar cal = Calendar.getInstance(); cal.setTimeZone(TimeZone.getTimeZone("EST"));
专家们,我想获取给定时区的当前日期时间以供全局使用。 所以,我创建了一个如下所示的类,但它显示 df.setTimeZone 语句的语法错误。实现这一目标的巧妙方法是什么?更具体地说,我想为类成员而不
我正在将字符串“11/15/2020”解析为日期。我需要将时区设置为 EDT,但这会将日期更改为 11/14/2020。我假设因为我处于 CST,它会消除 2020 年 11 月 15 日星期日 00
JSTL 标签用于设定默认时区。 语法 JSP 标签的语法如下: 其中: value:要设置的时区; var:存储新时区的变量名; scope:可选项,var 变量的有效范围。 示例 标签的
当我在带有 java6 的 Windows 上运行下面的代码时,它会打印以下输出。 private static SimpleDateFormat timeZoneFormatter = new Si
我正在尝试将以毫秒为单位的日期转换为日期并获取时间。 我有这段代码: long yourmilliseconds = Long.parseLong(model_command.getTime());
我正在使用下面的代码将时间转换为有效的 UTC import java.text.SimpleDateFormat; import static java.util.Calendar.* def dt
我正在使用SimpleDateFormat将字符串类型的时间转换为unix时间戳,但是当我将时区设置为非法值时,我仍然得到正确的结果,SimpleDateFormat.parse()方法是如何定义的?
我通过设置 GMT+5:30 时区将日期保存到数据库。从数据库获取相同日期后,我设置 GMT+3:00 时区。 但是日期没有改变...... 例如: 插入数据库时: Calendar cal
如果我尝试使用以下方法从应用程序内的任何位置任意设置时区: [[NSCalendar currentCalendar] setTimeZone:[NSTimeZone timeZoneWithAbbr
我在使用 SimpleDateFormat 和时区时遇到了一个奇怪的问题。 基本上,我有这个代码 fragment : String input = "2017-12
只是想知道是否有人可以帮助我指出正确的方向。 我们有一个 Feed,时间采用 UTC 时间。 我们希望在插入数据库之前将这些时间修改为“欧洲/伦敦” 服务器使用BST(centos 6.8),PHP版
本文整理了Java中org.apache.axis.types.YearMonth.setTimezone()方法的一些代码示例,展示了YearMonth.setTimezone()的具体用法。这些代
本文整理了Java中org.apache.axis.types.Year.setTimezone()方法的一些代码示例,展示了Year.setTimezone()的具体用法。这些代码示例主要来源于Gi
本文整理了Java中org.eclipse.persistence.internal.oxm.XMLConversionManager.setTimeZone()方法的一些代码示例,展示了XMLCon
我的 mysql 数据库中存储了一个日期时间字段,其中包含以英国时间设置的事件的时间。在下面使用的示例中,这个时间是 09:00。 我正尝试在美国西海岸和东海岸时区显示这个时间。 我相信我正确地使用了
本文整理了Java中com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl.setTimezone()方法的
我是一名优秀的程序员,十分优秀!