小编cmx*_*mxl的帖子

Javascript日期解析在Chrome中返回奇怪的结果

我在Chrome浏览器中发现了一些奇怪的Date行为(版本74.0.3729.131(官方内部版本)(64位))。在Chrome开发者控制台中执行了以下javascript:

new Date('1894-01-01T00:00:00+01:00')
// result: Mon Jan 01 1894 00:00:00 GMT+0100 (Central European Standard Time)

new Date('1893-01-01T00:00:00+01:00')
// result: Sat Dec 31 1892 23:53:28 GMT+0053 (Central European Standard Time)
Run Code Online (Sandbox Code Playgroud)

尽管已经提供了有效的ISO8601值,但我已经在不同的浏览器中通过Date ctor阅读了有关非标准日期解析的信息。但这不仅仅是奇怪的o_o

在Firefox(Quantum 66.0.3(64位))中,相同的调用会导致预期的Date对象:

new Date('1894-01-01T00:00:00+01:00')
// result: > Date 1892-12-31T23:00:00.000Z

new Date('1893-01-01T00:00:00+01:00')
// result: > Date 1893-12-31T23:00:00.000Z
Run Code Online (Sandbox Code Playgroud)
  • 这是Chrome中的错误吗?
  • 我的输入是有效的ISO8601,我猜呢?
  • 最重要的问题是,我该如何解决?(希望自己不解析输入字符串)

javascript google-chrome date

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

将服务实例传播到对话框组件未按预期工作

我在 stackblitz 上简单地复制了我想要实现的目标: https: //stackblitz.com/edit/angular-zb8kvg

我有一个组件(这里是 app.component),在该组件上声明了服务(MyService)。每次打开组件时,我都需要一个新的 MyService 实例,因此在我看来,该服务是在组件级别而不是在模块中声明的,这是正确的。

现在我想从此组件打开一个对话框(MatDialog -> TestComponent),它需要相同的服务实例。

我收到一个 StaticInjectorError,如控制台输出中所示。

如何在对话框中使用与调用组件相同的服务实例?

dependency-injection angular-material angular

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

FFmpeg冻结的C#处理StandardInput和StandardOutput

我试图通过管道将某些流传输到ffmpeg并捕获其输出,以便可以在代码中传递另一个流。这是一个代码示例,在我写入它之后,只是停止了该过程的继续StandardInput.BaseStream

internal class Program
    {
        private static void Main(string[] args)
        {
            var inputFile = @"C:\Temp\test.mp4";
            var outputFile = @"C:\Temp\test.mp3";

            var process = new Process
            {
                StartInfo = new ProcessStartInfo
                {
                    RedirectStandardInput = true,
                    RedirectStandardOutput = true,
                    RedirectStandardError = true,
                    UseShellExecute = false,
                    CreateNoWindow = true,
                    Arguments = "-i - -f mp3 -",
                    FileName = "ffmpeg.exe"
                },
                EnableRaisingEvents = true
            };

            process.ErrorDataReceived += (sender, eventArgs) => Console.WriteLine(eventArgs.Data);

            process.Start();
            process.BeginErrorReadLine();

            using (var input = new FileStream(inputFile, FileMode.Open))
            using (var output …
Run Code Online (Sandbox Code Playgroud)

.net c# ffmpeg process

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