Differences
This shows you the differences between the selected revisions of the page.
timestamp 2010-07-21 | timestamp 2025-09-15 (current) | ||
Line 2: | Line 2: | ||
Particularly when you want to use some of the [[task_synchronize|synchronization]] features, first make sure that WinSCP will be able to convert timestamps from local conventions to remote server conventions and vice versa. | Particularly when you want to use some of the [[task_synchronize|synchronization]] features, first make sure that WinSCP will be able to convert timestamps from local conventions to remote server conventions and vice versa. | ||
- | ===== Conversion ===== | + | ===== [[conversion]] Conversion ===== |
There are several factors that affect conversion and interpretation of the timestamps: | There are several factors that affect conversion and interpretation of the timestamps: | ||
^ Factor ^ Symptom ^ | ^ Factor ^ Symptom ^ | ||
- | | [[ui_login_environment#daylight_saving_time|Daylight saving time (DST)]] | Timestamps of some files are shifted by one hour. | | + | | [[ui_login_environment#dst|Daylight saving time (DST)]] | Timestamps of some files are shifted by one hour. WinSCP requires Windows option //Automatically adjust clock for Daylight Saving Time// to be enabled.((The option is enabled by default and can be configured in //Control Panel > Clock and Region > Date and Time > Change time zone//. &winvista &win7 &win8 &win10 &win11 &wincp)) | |
- | | [[ui_login_environment#timezone_offset|Server timezone offset]] | Timestamps of all files are shifted by the same time span. [[protocols#scp|SCP]] and [[protocols#ftp|FTP]] protocols are affected. | | + | | [[ui_login_environment#timezone|Server time zone offset]] | Timestamps of all files are shifted by the same time span. [[SCP]] and [[FTP]] protocols are affected. | |
- | | Local file system is FAT | File timestamp is always rounded to the next even second. This is property of old FAT filesystem. For this reason WinSCP ignores less than 2-seconds time difference with all its [[task_synchronize|synchronization]] features. Note that FAT is used rarely nowadays, mostly with removable medias only. | | + | | Local file system is FAT | File timestamp is always rounded to the next even second. This is a limitation of the legacy FAT filesystem. For this reason WinSCP ignores less than 2-seconds time difference with all its [[task_synchronize|synchronization]] features. Although FAT is an old filesystem, it remains in common use today on flash based storage media and devices (such as USB flash drives, camera cards, phone internal storage, portable audio players etc). Standard ZIP archive files also use a similar timestamp system internally, so unzipped files will behave as if they have been copied from a FAT filesystem. | |
- | | Timestamp precision | Files changed shortly after previous synchronization are not synchronized. [[protocols#scp|SCP]] and [[protocols#ftp|FTP]] protocols are affected. | | + | | Timestamp ==precision== | Files changed again shortly after a previous change are not synchronized if the server does not provide timestamps with sufficient precision in a directory listing.((You can see in the remote [[ui_file_panel|file panel]], with what precision does WinSCP know the remote file timestamp. So if panel shows e.g. ''dd/mm/yyyy hh:mm'' (minute precision), then if you change already synchronized local file within the same minute, WinSCP cannot recognize the change and won't synchronize the file.)) [[SCP]] and [[FTP]] protocols are affected. \\ WinSCP remembers timestamps of files uploaded in the session. When synchronizing the previously uploaded files, WinSCP will use the remembered timestamp instead of imprecise timestamp provided by the server. | |
+ | | [[ui_transfer_custom#upload|Capability of updating remote file timestamp]] | Some servers do not allow updating remote file timestamp at all. This severely restricts synchronization functionality. Some FTP servers and most WebDAV servers are affected. | | ||
- | Also note that for WinSCP to try to convert file timestamp at all, you need to have transfer option //[[ui_transfer#common_options|Preserve timestamp]]// enabled. | + | Also note that for WinSCP to try to convert file timestamp at all, you need to have transfer option //[[ui_transfer_custom#common|Preserve timestamp]]// enabled. |
===== [[windows]] Windows vs. Unix ===== | ===== [[windows]] Windows vs. Unix ===== | ||
- | For certain reasons certain versions of Microsoft Windows (NT, 2000, XP, 2003 and Vista) shifts timestamps of ALL files by one hour once Daylight Saving Time starts and/or finishes((See article [[http://www.codeproject.com/datetime/dstbugs.asp|Beating the Daylight Savings Time bug]])). For example, for file created on 2005-02-25 14:00, Windows applications (like Windows Explorer or WinSCP) will show modification time 2005-02-25 15:00, when DST is in effect. Unfortunately, to allow [[task_synchronize|synchronization]] functions to work, WinSCP has to apply the same correction to timestamps of remote files as Windows apply to timestamps of local files. As the remote operating system, being typically Unix-style, usually does not perform the Windows NT-style correction, you will see by default different timestamps in directory listing of WinSCP, than you see in directory listing on the server (for example in ''ls'' listing). You can change this in [[ui_login_environment#daylight_saving_time|session preferences]], but that will render synchronization non-functional. | + | For certain reasons certain old versions of Microsoft Windows (XP, 2003, Vista and 2008)((Basically all NT-class versions of Windows until Windows Vista/2008. The timestamp shifting was removed since Windows 7/2008 R2.)) shifts timestamps of ALL files by one hour once Daylight Saving Time starts and/or finishes.((See article [[https://www.codeproject.com/articles/Beating-the-Daylight-Savings-Time-Bug-and-Getting|Beating the Daylight Savings Time bug]])) For example, for file created on 2005-02-25 14:00, Windows applications (like Windows File Explorer or WinSCP) will show modification time 2005-02-25 15:00, when DST is in effect. Unfortunately, to allow [[task_synchronize|synchronization]] functions to work, WinSCP has to apply the same correction to timestamps of remote files as Windows apply to timestamps of local files. As the remote operating system, being typically Unix-style, usually does not perform the Windows NT-style correction, you will see by default different timestamps in directory listing of WinSCP, than you see in directory listing on the server (for example in ''ls'' listing). You can change this in [[ui_login_environment#dst|session options]], but that will render synchronization non-functional. &winxp &winvista &win2003 &win7 |
===== Synchronization ===== | ===== Synchronization ===== | ||
- | If you happen to have the same files locally and remotely with the different timestamps, you can update them without transferring the files again. Use function //Synchronize// in //[[task_synchronize_full#synchronization_mode|Synchronize timestamps]]// mode. | + | If you happen to have the same files locally and remotely with the different timestamps, you can update them without transferring the files again. Use function //Synchronize// in //[[task_synchronize_full#mode|Synchronize timestamps]]// mode. |
+ | |||
+ | ===== Troubleshooting ===== | ||
+ | |||
+ | Learn how to [[troubleshooting#timestamps|troubleshoot issues with timestamps]]. |