为什么"修改日期"存储在.ZIP" off"中的文件DST开关后一小时?

时间:2016-11-07 16:16:47

标签: datetime timezone dst windows-explorer

所以我的理解是NTFS存储"日期修改" UTC内部的时间戳。我编写了一个C#应用程序,插入此UTC" Date Modified"对于已从.ZIP提取到数据库中的文件。代码:

<?php echo form_open(LOGIN_URL, array('autocomplete' => 'off', 'id' => 'login_form', 'class' =>'form-horizontal')); ?>

                <div class="form-group <?php echo iif( form_error('username') , 'has-error') ;?>">
                    <label class="control-label col-sm-4 required" for="username"><?php echo lang('bf_username'); ?></label>
                    <div class="col-sm-6">
                        <input type="text" name="username" id="username" class="form-control" value="<?php echo set_value('login'); ?>" tabindex="1" placeholder="<?php echo lang('bf_username'); ?>" />
                    </div>
                </div>


                <div class="form-group <?php echo iif( form_error('password') , 'has-error') ;?>">
                    <label class="control-label col-sm-4 required" for="password"><?php echo lang('bf_password'); ?></label>
                    <div class="col-sm-6">
                        <input type="password" name="password" id="password" class="form-control" tabindex="2" placeholder="<?php echo lang('bf_password'); ?>">
                    </div>
                </div>

                <?php if ($this->settings_lib->item('auth.allow_remember')) : ?>
                    <div class="form-group">
                        <div class="col-sm-offset-4 col-sm-6">
                            <div class="checkbox">
                                <label>
                                    <input type="checkbox" name="remember_me" id="remember_me" value="1" tabindex="3" />
                                    <span class="inline-help"><?php echo lang('us_remember_note'); ?></span>
                                </label>
                            </div>
                        </div>
                    </div>
                <?php endif ;?>

                <div class="form-group">
                    <div class="col-sm-6 col-sm-push-4">
                        <input class="btn btn-blue btn-block" type="submit" name="log-me-in" value="<?php e(lang('us_let_me_in')); ?>"  />
                    </div>
                </div>

            <?php echo form_close(); ?>

我们的一位测试人员指出,与Windows资源管理器显示的相比,数据库中的时间戳显示为1小时。以下是我们的测试人员在Windows资源管理器中看到的示例:

What windows explorer is showing on Nov 7th

这是数据库显示的内容:

DataBase Value

正如您所看到的,数据库说的是上午1:03(UTC),Windows资源管理器说晚上10点03分。

为了测试这一点,我在DST切换之前将系统日期时间改为11月5日星期六。这样做并重新打开.zip(没有任何改变的拉链)我现在看到正确的日期9:03 PM:

What I see after switching SYSTEM date to Nov 5th

我认为这是由于Windows资源管理器的时区解释,因为我相当认证文件修改日期是美国东部时间11月5日晚上9:03而不是晚上10:03。有人能帮助我更详细地了解这个现象吗?

顺便说一句,很抱歉模糊了文件名,但请注意,这是完全相同的文件。此外,仅供参考 - 我在东部标准时间&#34;东部标准时间&#34; (UTC -5h)现在的时间。

0 个答案:

没有答案