date - 如何比较 dd/mm/yyyy 格式的两个日期?
问题描述
我有两个文件,想比较你的编译日期以备将来更新。
假设新文件的日期为:20/09/2019,旧文件的日期为:19/09/2019。如何以相同格式(dd/mm/yyyy)比较这两个日期?
var
UpDate, OldDate: string;
begin
UpDate := '20/09/2019';
OldDate := DateToStr(FileDateToDateTime(FileAge(IncludeTrailingBackslash(ExtractFilePath(Application.ExeName)) + 'test.exe'))) // 19/09/2019
if UpDate > OldDate then
begin
// Do something
end;
end;
解决方案
TDateTime
您可以通过调用来直接处理值,而不是操作字符串DateUtils.CompareDate()
。
var OldDate, UpDate : TDateTime;
begin
OldDate := EncodeDate(2019, 9, 20);
UpDate := FileDateToDateTime(FileAge(IncludeTrailingBackslash(ExtractFilePath(Application.ExeName)) + 'test.exe'));
if CompareDate(OldDate, UpDate) = LessThanValue Then
begin
// Do something
end;
end;
推荐阅读
- c++ - 是否有用于访问在 std::array 中具有值的元素数量的函数?
- flutter - Flutter Web 跨多个选项卡共享相同的 socketio 连接
- react-native - 如果不尝试 rct 虚拟文本 603,则无法将没有瑜伽节点的子代添加到父代
- javascript - JS:寻找命令而不是寻找音乐机器人
- c# - 此 services.BuildServiceProvider().GetRequiredService 的推荐解决方案是什么?
- angular - 来自 app.routing 和单独的路由文件的角度急切加载?
- windows - 在 Windows 上分发 GTK+ 应用程序的最佳方式是什么?
- python - Python初学者编码器问题
- python - 如何修复“ImportError:无法从'sklearn.utils.deprecation'导入名称'_raise_dep_warning_if_not_pytest'”?
- module - hm-10蓝牙模块的波特率问题