- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以下代码失败并显示 sy-subrc=12
.
CONVERT DATE '20191105'
TIME '123000'
DAYLIGHT SAVING TIME 'X'
INTO TIME STAMP DATA(timestamp)
TIME ZONE 'CET '.
12 : The specified time could not be converted, because dat, tim, or dst contain invalid or inconsistent values.
最佳答案
TL;博士
Never use
DAYLIGHT SAVING TIME
(except in very special cases if you're expert)
"CONVERT DATE command automatically takes care of DST"
DAYLIGHT SAVING TIME 'X'
仅当本地时间(DATE 和 TIME)匹配一小时(很少是两小时)间隔以从夏季时间切换到冬季时间时才能使用,对于给定的时区(请注意,某些时区没有夏令时) .
DATA: time_stamp TYPE timestamp,
dat TYPE d,
tim TYPE t,
tz TYPE ttzz-tzone.
tz = 'BRAZIL'. "UTC-03:00
dat = '20030309'.
tim = '013000'.
CONVERT DATE dat TIME tim DAYLIGHT SAVING TIME 'X' " winter time
INTO TIME STAMP time_stamp TIME ZONE tz.
ASSERT time_stamp = '20030309033000'. " UTC time
CONVERT DATE dat TIME tim DAYLIGHT SAVING TIME ' ' " summer time
INTO TIME STAMP time_stamp TIME ZONE tz.
ASSERT time_stamp = '20030309043000'. " UTC time
DAYLIGHT SAVING TIME 'X'
必须使用或不使用。事实上,如果一个数据库表包含我在上面示例中使用的本地时间,
一个不知道无论是夏令时还是冬令时,因为夏令时从未与日期和时间列一起分配给表格列。
DAYLIGHT SAVING TIME
几乎过时了。实际问题不是夏令时,而是可能导致时间排序等问题的非连续时间。解决的原理是在夏令时切换过程中将时间放慢,这样一个给定的时间就不会出现两次,时间保持连续。从技术上讲,它会影响系统变量
SY-DATUM
(日期)和
SY-UZEIT
(时间)。在这个“双小时”间隔中,需要两个实际秒才能产生一个 SAP 秒。默认情况下,此行为通过配置文件参数
zdate/DSTswitch_contloctime
激活(值为“on”)。您可以通过交易代码
RZ11
查看.下面是按照旧方式(“off”)或新方式(“on”)的 SAP 时间,如果切换发生在本地时间凌晨 2 点(带“on”,则看不到切换):
off: 1:00, 1:30, 1:00, 1:30, 2:00
on : 1:00, 1:15, 1:30, 1:45, 2:00
CONVERT
还有一小时的差距。例如,使用
zdate/DSTswitch_contloctime
设置为“开”且不带
DAYLIGHT SAVING TIME
,
CONVERT
将分别给出这些 UTC 时间戳,03:59:59 和 05:00:00 之间有一个小时的间隔:
3:00, 3:15, 3:30, 3:45, 5:00
SY-DAYST
对应于应用服务器当前时间的 DST 指示符(
SY-DATUM
、
SY-UZEIT
和表
TTZCU
中定义的时区)。我看不出它有任何可能的用途。如果您想转换最初使用
SY-DATUM
获得的时间和
SY-UZEIT
, 转换成 UTC 时间戳,你应该使用方法
SYSTEMTSTMP_SYST2UTC
类(class)
CL_ABAP_TSTMP
.获取当前时间的示例:
cl_abap_tstmp=>systemtstmp_syst2utc(
EXPORTING
syst_date = sy-datum
syst_time = sy-uzeit
IMPORTING
utc_tstmp = DATA(now_utc) ).
CONVERT DATE
没有
DAYLIGHT SAVING TIME
可能返回
sy-subrc=12
在极少数情况下,如果输入的日期和时间由于从冬季时间切换到夏季时间而对应于“消失时间”内的某个时间,则如果时区有 DST。例如:“at 2am, it is 3am”,本地时间“2:30am”根本不存在。
关于abap - 为什么在添加 DAYLIGHT SAVING TIME 时 CONVERT DATE 会因 sy-subrc 12 而失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58416083/
我有一个关于 python 的问题 time具体模块(不询问 datetime 、 pytz 或任何其他模块)。 如何使用 time 找到答案模块,我当前所在的地点和日期当前是否是夏令时 (DST)?
在澳大利亚,新南威尔士州和昆士兰州位于同一经度。然而,在夏季,其中一个遵守夏令时,而另一个则不遵守。 因此,一年中的一半时间间隔为 1 小时。 昆士兰州全年和新南威尔士州冬季均位于时区 "Austra
我如何知道我当前的本地时间是否按夏令时调整。基本上等同于 NodaTime 中的 DateTime.Now.IsDaylightSavingTime() 我看到了this , 但无法翻译成 Noda.
我有一段代码必须在每天的特定时间执行。如果我安排它在每天晚上 9 点执行,那么即使在夏令时切换期间它也必须工作。 可以使用哪个 Java API 来实现这一点? int ONE_DAY = 1000
我正在尝试实现 A Practical Analytic Model for Daylight在处理中并将其投影到二维 Canvas 上。到目前为止,一切都工作正常,除了太阳方位角的一个棘手问题。 当
我使用 SetTimeZoneInformation 成功更改了 Windows 中的时区和夏令时,但即使将 wMonth 设置为 0,datetime.cpl 中的复选框也会被选中。 TIME_ZO
当我的 postgres 服务器在 America/New_York 时区,或者我使用 SET SESSION TIME ZONE 'America/New_York' 时,generate_seri
正在使用 Windows 注册表寻找下一个“夏令时”。 我必须使用旧版本的 Borland C++。 想法来自 Daylight Saving Time change with an absolute
我在 C 应用程序中使用 time(NULL) 函数来获取自 1970 年以来的秒数。我注意到它返回的信息有 1 小时的差异。 然后我尝试使用 localtime 将结果转换为 tm 结构,然后我注意
运行 python 的计算机时钟(Windows 或 Linux)时会发生什么自动更改并调用 time.time()? 我读到,当时钟手动更改为过去的某个值时,time.time() 的值会变小。 最
我试图向数据对象添加 7 天,但是在某个阶段我开始得到奇怪的结果。 var currDate = new Date(2011, 2, 28) , oldTicks = currDate.getTi
我正在尝试在UWP应用程序中复制Windows日期和时间设置,而在处理夏令时(DST)设置时遇到了麻烦。 我设法使所有工作正常进行,我可以从我的应用程序更改系统时间和时区,但是选项自动调整为夏时制使我
在上一个问题中,我写了一个 javascript 日期函数,该函数神秘地停止于 11/07/101。感谢 stackoverflow 用户,我被告知我的问题是夏令时。 Javascript date,
我目前正在使用一个开源应用程序:WeBid(可用 here) 问题是: 用户在数据库中存储了首选时区 该站点在数据库中存储了一个默认时区 所有数据库存储的日期都存储在“GMT-0” 应用程序无法正确计
在日光全局变量的 time.h header 中,它说: “如果夏令时规则适用,则此变量具有非零值。非零值并不一定意味着夏令时现在有效;它仅意味着夏令时有时有效。” 现在我注意到在 Solaris 1
daylight 的以下示例test_daytime.c #include #include #include int main (void) { char *tzval; tz
我使用 Java 8 的新 java.time 实现,想知道 UTC 到 CET 的输出时间转换结果。 ZonedDateTime utcTime = ZonedDateTime.of(2014, 7
我写了这个连接到dateutil.tz的函数,引用下面的代码: CREATE OR REPLACE FUNCTION schema_name.fnc_name(ts timestamp without
有谁知道在 ICS 文件中指定所有时间都以本地时间写入的方法?我认为将 'Z' 放在时间结束处,并在 DTSTART 和 DTEND 行中使用 TZID="America/Denver"(例如)可以实
我意识到这个问题可以通过编写一些测试代码来回答。我并不懒惰,我只是认为答案可能普遍有用。 我有一个应用程序生成了大量数据,其中的记录带有本地时间(由 NOW 例程返回)。我们在夏令时的进出转换方面遇到
我是一名优秀的程序员,十分优秀!