如果您对centos–当/etc/localtime符号链接到/usr/share/zoneinfo/GMT时,为什么$date仍显示EST?感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,
如果您对centos – 当/ etc / localtime符号链接到/usr/share / zoneinfo / GMT时,为什么$date仍显示EST?感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于centos – 当/ etc / localtime符号链接到/usr/share / zoneinfo / GMT时,为什么$date仍显示EST?的详细内容,并且为您提供关于.net – Windows XP上的DateTime.ToLocalTime、/sbin/ldconfig.real: /usr/local/lib/libcudnn.so.7 不是符号链接、Calendar.getInstance(TimeZone.getTimeZone(“ UTC”))没有返回UTC时间、Calendar.getInstance()getTime()返回的日期为“ GMT”,而不是默认的TimeZone的有价值信息。
本文目录一览:- centos – 当/ etc / localtime符号链接到/usr/share / zoneinfo / GMT时,为什么$date仍显示EST?
- .net – Windows XP上的DateTime.ToLocalTime
- /sbin/ldconfig.real: /usr/local/lib/libcudnn.so.7 不是符号链接
- Calendar.getInstance(TimeZone.getTimeZone(“ UTC”))没有返回UTC时间
- Calendar.getInstance()getTime()返回的日期为“ GMT”,而不是默认的TimeZone
centos – 当/ etc / localtime符号链接到/usr/share / zoneinfo / GMT时,为什么$date仍显示EST?
$ls -la /etc | grep localtime lrwxrwxrwx 1 root root 23 Mar 6 12:07 /etc/localtime -> /usr/share/zoneinfo/GMT
出于某种原因,虽然时间17:31:06是GMT,但时区后缀是EST …
$date Tue Mar 6 17:31:06 EST 2012
并且硬件时钟也搞砸了 – 10:32:12不是EST:
$hwclock --show Tue 06 Mar 2012 10:32:12 PM EST -0.000276 seconds
如果我将hwclock设置为系统时间或本地时间,则会将其设置为错误:
$hwclock --localtime Tue 06 Mar 2012 10:34:22 PM EST -0.000190 seconds $date Tue Mar 6 17:34:24 EST 2012
知道发生了什么事吗?
谢谢
第一:您正在运行Unix(可能是NTP):确保已将系统的BIOS /硬件时钟设置为UTC.
你需要的绝对最后一件事是你的硬件(BIOS)时钟与Unix战斗,时区是正确的,夏令时开始/结束时.将硬件时钟设置为UTC可以使生活更轻松.
第二:当您更改系统范围的时区时,有时需要注销并重新登录,以便系统了解发生的情况.一般来说,我建议重新启动 – 这可以确保操作系统的每个部分都被踢出头来理解发生了什么.
当您将机器的时区更改为夏威夷时,您不希望cron仍然在美国/东部时间运行.
第三:如果您的用户帐户仍然对时区有一些混乱的想法可能会设置TZ环境变量 – 请仔细检查.profile和shell rc文件.Unix并不假设系统中的每个用户都在本地时区,因此它允许您覆盖每个用户(或每个shell)级别.如果您的系统在(例如)美国/东部时间运行并且您有用户从日本登录,这非常有用 – 人们喜欢他们的系统报告的时间与他们墙上的时钟相匹配:)
.net – Windows XP上的DateTime.ToLocalTime
On Windows XP systems,the ToLocalTime
method recognizes only the current
adjustment rule when converting from
UTC to local time. As a result,
conversions for periods before the
current adjustment rule came into
effect may not accurately reflect the
difference between UTC and local time.
我正在开发Windows 7,但部署到混合环境.如何提供与ToLocalTime的Windows 7行为相匹配的一致,正确的实现?
编辑
我跑了一个测试:
static void Main() { // 8 AM in July,UTC. That would have been DST,so 3 AM CDT. var dstDate = new DateTime(2010,7,1,8,DateTimeKind.Utc); // 8 AM in December,UTC. Not DST,so 2 AM CST. var nonDstDate = new DateTime(2010,12,DateTimeKind.Utc); Log("DST Date ToLocalTime: " + dstDate.ToLocalTime()); Log("DST Date ConvertTimeFromUtc: " + ConvertTimeFromUtc(dstDate)); Log("Expected: 3 AM July 1 2010"); Log(string.Empty); Log("Non-DST Date ToLocalTime: " + nonDstDate.ToLocalTime()); Log("Non-DST Date ConvertTimeFromUtc: " + ConvertTimeFromUtc(nonDstDate)); Log("Expected: 2 AM December 1 2010"); Log(string.Empty); Log("Date ToLocalTime Kind: " + dstDate.ToLocalTime().Kind); Log("Date ConvertTimeFromUtc Kind: " + ConvertTimeFromUtc(dstDate).Kind); } private static void Log(string message) { Console.WriteLine(message); } private static DateTime ConvertTimeFromUtc(DateTime utcDateTime) { return DateTime.SpecifyKind( TimeZoneInfo.ConvertTimeFromUtc( utcDateTime,TimeZoneInfo.FindSystemTimeZoneById(TimeZoneInfo.Local.Id)),DateTimeKind.Local); }
XP Pro 32位,SP3(作为VM)和Windows 7 Enterprise 64位的结果相同:
DST Date ToLocalTime: 7/1/2010 3:00:00 AM DST Date ConvertTimeFromUtc: 7/1/2010 3:00:00 AM Expected: 3 AM July 1 2010 Non-DST Date ToLocalTime: 12/1/2010 2:00:00 AM Non-DST Date ConvertTimeFromUtc: 12/1/2010 2:00:00 AM Expected: 2 AM December 1 2010 Date ToLocalTime Kind: Local Date ConvertTimeFromUtc Kind: Local
文档错了吗?我可以简单地拨打ToLocalTime吗?
编辑2
我们在一个真正的XP系统(不是VM)上运行它,并在那里得到相同的结果.我的测试用例是否正确?任何人都可以提供结果会有所不同的情况吗?
解决方法
On Windows XP systems,the ToLocalTime
method recognizes only the current
adjustment rule when converting from
UTC to local time. As a result,
conversions for periods before the
current adjustment rule came into
effect may not accurately reflect the
difference between UTC and local time.
美国在2007年改变了夏令时的调整规则.
> 2006年:4月的第一个星期日,10月的最后一个星期日结束.
> 2007年:3月的第2个星期日,11月的第1个星期日结束.
问题在于他们遵循2007年所有日期的规则,而不仅仅是2007年之后的日期.DST规则在20年内没有改变,Windows XP在不同年份没有不同规则的概念.它将考虑2006年10月31日的夏令时,但实际上并非如此.
如果你只处理2007年之后的日期,那么你很好,不需要做任何特别的事情.如果您正在处理2006年或之前的日期,那么您需要检查年份,并手动应用DST偏移.
/sbin/ldconfig.real: /usr/local/lib/libcudnn.so.7 不是符号链接
平台:Ubuntu 18 LTS 问题描述
/sbin/ldconfig.real: /usr/local/lib/libcudnn.so.7 不是符号链接
解决办法:建立软连接
sudo ln -sf /usr/local/lib/libcudnn.so.7.1.3 /usr/local/lib/libcudnn.so.7
Calendar.getInstance(TimeZone.getTimeZone(“ UTC”))没有返回UTC时间
我真的对Calendar.getInstance(TimeZone.getTimeZone("UTC"))
方法调用的结果感到困惑,因为它返回了IST时间。
这是我使用的代码
Calendar cal_Two = Calendar.getInstance(TimeZone.getTimeZone("UTC"));System.out.println(cal_Two.getTime());
我得到的答复是:
Sat Jan 25 15:44:18 IST 2014
所以我尝试将默认的TimeZone更改为UTC,然后检查了一下,然后工作正常
Calendar cal_Two = Calendar.getInstance(TimeZone.getTimeZone("UTC"));System.out.println(cal_Two.getTime());TimeZone tz = TimeZone.getDefault() ;TimeZone.setDefault(TimeZone.getTimeZone("UTC"));Calendar cal_Three = Calendar.getInstance();System.out.println(cal_Three.getTime());TimeZone.setDefault(tz);
结果:
Sat Jan 25 16:09:11 IST 2014Sat Jan 25 10:39:11 UTC 2014
我在这里想念什么吗?
答案1
小编典典该System.out.println(cal_Two.getTime())
调用返回Date
的getTime()
。正是它将Date
转换为的字符串println
,并且这种转换将使用IST
您所用的默认时区。
您需要明确使用DateFormat.setTimeZone()
来Date
在所需的时区中打印。
编辑:@Laurynas的礼貌,请考虑以下事项:
TimeZone timeZone = TimeZone.getTimeZone("UTC");Calendar calendar = Calendar.getInstance(timeZone);SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EE MMM dd HH:mm:ss zzz yyyy", Locale.US);simpleDateFormat.setTimeZone(timeZone);System.out.println("Time zone: " + timeZone.getID());System.out.println("default time zone: " + TimeZone.getDefault().getID());System.out.println();System.out.println("UTC: " + simpleDateFormat.format(calendar.getTime()));System.out.println("Default: " + calendar.getTime());
Calendar.getInstance()getTime()返回的日期为“ GMT”,而不是默认的TimeZone
Calendar c = Calendar.getInstance();
System.out.println(c.getTime());
c.set(2007,1);
System.out.println(c.getTime());
输出:
IST 2017年9月12日12:36:24
IST 2007年1月1日星期一12:36:24
但是,当我在不同的环境中使用相同的代码时,输出更改为以下内容:
输出:
IST 2017年9月12日12:36:24
2007年1月1日星期一格林尼治标准时间12:36:24
仅供参考,我尝试在设置值之前和之后打印日历实例的时区,并且两者都在“ IST”中。
我想知道这个的根本原因。
我们今天的关于centos – 当/ etc / localtime符号链接到/usr/share / zoneinfo / GMT时,为什么$date仍显示EST?的分享就到这里,谢谢您的阅读,如果想了解更多关于.net – Windows XP上的DateTime.ToLocalTime、/sbin/ldconfig.real: /usr/local/lib/libcudnn.so.7 不是符号链接、Calendar.getInstance(TimeZone.getTimeZone(“ UTC”))没有返回UTC时间、Calendar.getInstance()getTime()返回的日期为“ GMT”,而不是默认的TimeZone的相关信息,可以在本站进行搜索。
本文标签: