我们在整个产品中维护了不同的日期(dylib、框架、应用程序)。因此,我们确实有根用户进程、控制台用户进程在系统上运行
对于在系统上选择的不同日历,系统具有不同的行为。
System1:设置公历的位置(macOS 10.13.6)
Date : 2019-07-24 10:02:22 +0000 (Root user process)
Date : 2019-07-24 10:03:31 +0000 (Console user process)System2:设置佛教或不同日历的位置(macOS 10.13.6)
Date : 2019-07-24 10:04:59 +0000 (Root user process)
Date : 2562-07-24 10:05:24 +0000 (Console user process)System3:设置佛教或不同日历的位置(macOS 10.14)
Date : 2562-07-24 10:06:59 +0000 (Root user process)
Date : 2562-07-24 10:07:24 +0000 (Console user process)在这里,我们仅从控制台用户设置日历,并使用NSLog()打印日期。
那么,不同的系统如何有不同的行为,任何帮助,细节感谢。
提前谢谢。
发布于 2019-08-02 22:00:10
在10.14版本中,有很多关于苹果在语言环境处理方面的变化的讨论(例如,参见Michael Tsai's blog and associated comments。它看起来像是在10.14中做出了一个决定,使日期设置在整个操作系统中保持一致。与以前的版本相比,这是一个重大的变化,正如您所指出的,它对控制台用户进程有特别奇怪的影响,而控制台用户进程以前运行的是较少本地化的环境。
不幸的是,在10.15中没有这种变化的迹象。如果您的命令行可执行文件是基于基础的(CFBundleAllowMixedLocalizations),那么有一个设置可能会很有用,但这主要是关于本地化字符串的,我还没有尝试过对时间方面的影响。
https://stackoverflow.com/questions/57186468
复制相似问题