我需要在Centos 7.4 64位上使用php(5.4)将日期时间信息从本地时间(gtm + 1)转换为UTC
我尝试了以下程序:
function convertToUtc ($date)
{
$dateTime = new DateTime ($date, new DateTimeZone('Europe/Rome'));
$dateTime->setTimezone(new DateTimeZone('UTC'));
return $dateTime->format('Y-m-d') . 'T' . $dateTime->format('H:i:s') . 'Z';
}
Run Code Online (Sandbox Code Playgroud)
这工作到2038年之后,它错误地计算DST总是返回1小时的偏移量:
2037:一切都好
LOCAL TIME -> UTC TIME
2037-03-28 10:12:13 -> 2037-03-28T09:12:13Z the day before dst change
2037-03-29 10:12:13 -> 2037-03-29T08:12:13Z the first DST day
2037-10-24 10:12:13 -> 2037-10-24T08:12:13Z the last DST day
2037-10-25 10:12:13 -> 2037-10-25T09:12:13Z the day after
2038 : ok until dst change
2038-03-27 10:12:13 -> 2038-03-27T09:12:13Z OK
2038-03-28 10:12:13 …
Run Code Online (Sandbox Code Playgroud) 在尝试编译以下表达式时:
String.blit (String.make tfs.len ' ') 0 tfs.txt 0 tfs.len;
Run Code Online (Sandbox Code Playgroud)
编译器抱怨以下错误:
Error: This expression has type string but an expression was expected of type bytes
and the variable 'tfs.txt' (of type string) is pointed at.
Run Code Online (Sandbox Code Playgroud)
正如某些论坛中所建议的那样,我尝试将变量OCAMLPARAM
设置为值:safe_string=0,_
但没有结果
我在 Ubuntu 20.01.01 LTS 下使用 OCaml 4.11.1
以下语句正确编译:
procedure test ;
var xx : string;
begin
xx := 'a' + '}' + 'b';
end;
Run Code Online (Sandbox Code Playgroud)
如果您尝试使用块注释进行注释,则编译器会错误地将文本中的右括号视为注释的结尾.
procedure test ;
var xx : string;
begin
{ xx := 'a' + '}' + 'b'; }
end;
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
为什么这个算符定义被拒绝了?
data Second a b = Ok a b | Ko a b deriving (Show)
instance Functor (Second x) where
fmap f (Ok a b ) = Ok (f a) b
fmap f (Ko a b ) = Ko a (f b)
Run Code Online (Sandbox Code Playgroud)
我收到很多错误:
GHCi, version 8.0.1
main.hs:4:22: error:
• Couldn't match type ‘b’ with ‘x’
‘b’ is a rigid type variable bound by
the type signature for:
fmap :: forall a b. (a -> b) -> Second x …
Run Code Online (Sandbox Code Playgroud)