diff --git a/Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj b/Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj
index 9d7a0a21..b9038709 100644
--- a/Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj
+++ b/Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj
@@ -20,7 +20,7 @@
-
+
@@ -35,7 +35,7 @@
-
+
diff --git a/Admin.NET/Admin.NET.Core/Extension/ObjectExtension.cs b/Admin.NET/Admin.NET.Core/Extension/ObjectExtension.cs
index 8f6c106c..d6491776 100644
--- a/Admin.NET/Admin.NET.Core/Extension/ObjectExtension.cs
+++ b/Admin.NET/Admin.NET.Core/Extension/ObjectExtension.cs
@@ -261,9 +261,9 @@ public static partial class ObjectExtension
public static string ParseToDateTimeForRep(this string str)
{
if (string.IsNullOrWhiteSpace(str))
- str = $"{DateTime.Now.Year}/{DateTime.Now.Month}/{DateTime.Now.Day}";
+ str = $"{DateTime.UtcNow.Year}/{DateTime.UtcNow.Month}/{DateTime.UtcNow.Day}";
- var date = DateTime.Now;
+ var date = DateTime.UtcNow;
var reg = new Regex(@"(\{.+?})");
var match = reg.Matches(str);
match.ToList().ForEach(u =>
diff --git a/Admin.NET/Admin.NET.Core/Hub/OnlineUserHub.cs b/Admin.NET/Admin.NET.Core/Hub/OnlineUserHub.cs
index 59f6d7b3..f13e329c 100644
--- a/Admin.NET/Admin.NET.Core/Hub/OnlineUserHub.cs
+++ b/Admin.NET/Admin.NET.Core/Hub/OnlineUserHub.cs
@@ -52,7 +52,7 @@ public class OnlineUserHub : Hub
UserId = _userManager.UserId,
UserName = _userManager.Account,
RealName = _userManager.RealName,
- Time = DateTime.Now,
+ Time = DateTime.UtcNow,
Ip = httpContext.GetRemoteIpAddressToIPv4(true),
Browser = httpContext.GetClientBrowser(),
Os = httpContext.GetClientOs(),
diff --git a/Admin.NET/Admin.NET.Core/Job/EnumToDictJob.cs b/Admin.NET/Admin.NET.Core/Job/EnumToDictJob.cs
index 3e0d5661..904ee150 100644
--- a/Admin.NET/Admin.NET.Core/Job/EnumToDictJob.cs
+++ b/Admin.NET/Admin.NET.Core/Job/EnumToDictJob.cs
@@ -143,7 +143,7 @@ public class EnumToDictJob : IJob
var originColor = Console.ForegroundColor;
Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine($"【{DateTime.Now}】系统枚举转换字典");
+ Console.WriteLine($"【{DateTime.UtcNow}】系统枚举转换字典");
Console.ForegroundColor = originColor;
}
}
\ No newline at end of file
diff --git a/Admin.NET/Admin.NET.Core/Job/LogJob.cs b/Admin.NET/Admin.NET.Core/Job/LogJob.cs
index 0f766e95..8db0a9e9 100644
--- a/Admin.NET/Admin.NET.Core/Job/LogJob.cs
+++ b/Admin.NET/Admin.NET.Core/Job/LogJob.cs
@@ -32,11 +32,11 @@ public class LogJob : IJob
var sysConfigService = serviceScope.ServiceProvider.GetRequiredService();
var daysAgo = await sysConfigService.GetConfigValue(ConfigConst.SysLogRetentionDays); // 日志保留天数
- await logVisRep.CopyNew().AsDeleteable().Where(u => u.CreateTime < DateTime.Now.AddDays(-daysAgo)).ExecuteCommandAsync(stoppingToken); // 删除访问日志
- await logOpRep.CopyNew().AsDeleteable().Where(u => u.CreateTime < DateTime.Now.AddDays(-daysAgo)).ExecuteCommandAsync(stoppingToken); // 删除操作日志
- await logDiffRep.CopyNew().AsDeleteable().Where(u => u.CreateTime < DateTime.Now.AddDays(-daysAgo)).ExecuteCommandAsync(stoppingToken); // 删除差异日志
+ await logVisRep.CopyNew().AsDeleteable().Where(u => u.CreateTime < DateTime.UtcNow.AddDays(-daysAgo)).ExecuteCommandAsync(stoppingToken); // 删除访问日志
+ await logOpRep.CopyNew().AsDeleteable().Where(u => u.CreateTime < DateTime.UtcNow.AddDays(-daysAgo)).ExecuteCommandAsync(stoppingToken); // 删除操作日志
+ await logDiffRep.CopyNew().AsDeleteable().Where(u => u.CreateTime < DateTime.UtcNow.AddDays(-daysAgo)).ExecuteCommandAsync(stoppingToken); // 删除差异日志
- string msg = $"【{DateTime.Now}】清理系统日志成功,删除 {daysAgo} 天前的日志数据!";
+ string msg = $"【{DateTime.UtcNow}】清理系统日志成功,删除 {daysAgo} 天前的日志数据!";
var originColor = Console.ForegroundColor;
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine(msg);
diff --git a/Admin.NET/Admin.NET.Core/Job/OnlineUserJob.cs b/Admin.NET/Admin.NET.Core/Job/OnlineUserJob.cs
index e5c333c2..881e6dd5 100644
--- a/Admin.NET/Admin.NET.Core/Job/OnlineUserJob.cs
+++ b/Admin.NET/Admin.NET.Core/Job/OnlineUserJob.cs
@@ -34,7 +34,7 @@ public class OnlineUserJob : IJob
// 缓存租户列表
await serviceScope.ServiceProvider.GetRequiredService().CacheTenant();
- string msg = $"【{DateTime.Now}】清理在线用户成功!服务已重启...";
+ string msg = $"【{DateTime.UtcNow}】清理在线用户成功!服务已重启...";
var originColor = Console.ForegroundColor;
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine(msg);
diff --git a/Admin.NET/Admin.NET.Core/Job/RoleApiJob.cs b/Admin.NET/Admin.NET.Core/Job/RoleApiJob.cs
index 8d830f3e..77d3598c 100644
--- a/Admin.NET/Admin.NET.Core/Job/RoleApiJob.cs
+++ b/Admin.NET/Admin.NET.Core/Job/RoleApiJob.cs
@@ -55,11 +55,11 @@ public class RoleApiJob : IJob
var originColor = Console.ForegroundColor;
Console.ForegroundColor = ConsoleColor.Blue;
- Console.WriteLine($"【{DateTime.Now}】初始化管理员角色接口资源");
+ Console.WriteLine($"【{DateTime.UtcNow}】初始化管理员角色接口资源");
Console.ForegroundColor = originColor;
// 自定义日志
- _logger.LogInformation($"【{DateTime.Now}】初始化管理员角色接口资源");
+ _logger.LogInformation($"【{DateTime.UtcNow}】初始化管理员角色接口资源");
await Task.CompletedTask;
}
diff --git a/Admin.NET/Admin.NET.Core/Logging/ElasticSearchLoggingWriter.cs b/Admin.NET/Admin.NET.Core/Logging/ElasticSearchLoggingWriter.cs
index d4253a57..c047bbe6 100644
--- a/Admin.NET/Admin.NET.Core/Logging/ElasticSearchLoggingWriter.cs
+++ b/Admin.NET/Admin.NET.Core/Logging/ElasticSearchLoggingWriter.cs
@@ -61,7 +61,7 @@ public class ElasticSearchLoggingWriter : IDatabaseLoggingWriter, IDisposable
var sysLogOp = new SysLogOp
{
- Id = DateTime.Now.Ticks,
+ Id = DateTime.UtcNow.Ticks,
ControllerName = loggingMonitor.controllerName,
ActionName = loggingMonitor.actionTypeName,
DisplayTitle = loggingMonitor.displayTitle,
diff --git a/Admin.NET/Admin.NET.Core/Logging/LogExceptionHandler.cs b/Admin.NET/Admin.NET.Core/Logging/LogExceptionHandler.cs
index 7895563b..28c3e715 100644
--- a/Admin.NET/Admin.NET.Core/Logging/LogExceptionHandler.cs
+++ b/Admin.NET/Admin.NET.Core/Logging/LogExceptionHandler.cs
@@ -42,7 +42,7 @@
// Browser = context.HttpContext.Request.Headers["User-Agent"],
// TraceId = App.GetTraceId(),
// ThreadId = App.GetThreadId(),
-// LogDateTime = DateTime.Now,
+// LogDateTime = DateTime.UtcNow,
// LogLevel = LogLevel.Error
// };
diff --git a/Admin.NET/Admin.NET.Core/Logging/LoggingSetup.cs b/Admin.NET/Admin.NET.Core/Logging/LoggingSetup.cs
index b0e502df..d2a2f853 100644
--- a/Admin.NET/Admin.NET.Core/Logging/LoggingSetup.cs
+++ b/Admin.NET/Admin.NET.Core/Logging/LoggingSetup.cs
@@ -44,7 +44,7 @@ public static class LoggingSetup
{
options.WithTraceId = true; // 显示线程Id
options.WithStackFrame = true; // 显示程序集
- options.FileNameRule = fileName => string.Format(fileName, DateTime.Now, logLevel.ToString()); // 每天创建一个文件
+ options.FileNameRule = fileName => string.Format(fileName, DateTime.UtcNow, logLevel.ToString()); // 每天创建一个文件
options.WriteFilter = logMsg => logMsg.LogLevel == logLevel; // 日志级别
options.HandleWriteError = (writeError) => // 写入失败时启用备用文件
{
diff --git a/Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs b/Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs
index ac0e7c43..3c2d7a79 100644
--- a/Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs
+++ b/Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs
@@ -240,7 +240,7 @@ public class SysAuthService : IDynamicApiController, ITransient
// 更新用户登录信息
user.LastLoginIp = _httpContextAccessor.HttpContext.GetRemoteIpAddressToIPv4(true);
(user.LastLoginAddress, double? longitude, double? latitude) = CommonUtil.GetIpAddress(user.LastLoginIp);
- user.LastLoginTime = DateTime.Now;
+ user.LastLoginTime = DateTime.UtcNow;
user.LastLoginDevice = CommonUtil.GetClientDeviceInfo(_httpContextAccessor.HttpContext?.Request?.Headers?.UserAgent);
await _sysUserRep.AsUpdateable(user).UpdateColumns(u => new
{
@@ -277,7 +277,7 @@ public class SysAuthService : IDynamicApiController, ITransient
// 获取水印文字(若系统水印为空则全局为空)
var watermarkText = await _sysConfigService.GetConfigValue(ConfigConst.SysWebWatermark);
if (!string.IsNullOrWhiteSpace(watermarkText))
- watermarkText += $"-{user.RealName}"; // $"-{user.RealName}-{_httpContextAccessor.HttpContext.GetRemoteIp()}-{DateTime.Now}";
+ watermarkText += $"-{user.RealName}"; // $"-{user.RealName}-{_httpContextAccessor.HttpContext.GetRemoteIp()}-{DateTime.UtcNow}";
return new LoginUserOutput
{
diff --git a/Admin.NET/Admin.NET.Core/Service/Common/SysCommonService.cs b/Admin.NET/Admin.NET.Core/Service/Common/SysCommonService.cs
index d06287af..d1f3510a 100644
--- a/Admin.NET/Admin.NET.Core/Service/Common/SysCommonService.cs
+++ b/Admin.NET/Admin.NET.Core/Service/Common/SysCommonService.cs
@@ -138,7 +138,7 @@ public class SysCommonService : IDynamicApiController, ITransient
return await Task.FromResult(new FileStreamResult(resultStream, "application/octet-stream")
{
- FileDownloadName = $"{(string.IsNullOrEmpty(fileName) ? "错误标记_" + DateTime.Now.ToString("yyyyMMddhhmmss") : fileName)}.xlsx"
+ FileDownloadName = $"{(string.IsNullOrEmpty(fileName) ? "错误标记_" + DateTime.UtcNow.ToString("yyyyMMddhhmmss") : fileName)}.xlsx"
});
}
diff --git a/Admin.NET/Admin.NET.Core/Service/DataBase/SysDatabaseService.cs b/Admin.NET/Admin.NET.Core/Service/DataBase/SysDatabaseService.cs
index b6a41ce2..be5997fe 100644
--- a/Admin.NET/Admin.NET.Core/Service/DataBase/SysDatabaseService.cs
+++ b/Admin.NET/Admin.NET.Core/Service/DataBase/SysDatabaseService.cs
@@ -528,7 +528,7 @@ public class SysDatabaseService : IDynamicApiController, ITransient
Directory.CreateDirectory(backupDirectory);
// 构建备份文件名
- string backupFileName = $"backup_{DateTime.Now:yyyyMMddHHmmss}.sql";
+ string backupFileName = $"backup_{DateTime.UtcNow:yyyyMMddHHmmss}.sql";
string backupFilePath = Path.Combine(backupDirectory, backupFileName);
// 启动pg_dump进程进行备份
diff --git a/Admin.NET/Admin.NET.Core/Service/Job/JobClusterServer.cs b/Admin.NET/Admin.NET.Core/Service/Job/JobClusterServer.cs
index 139b2ec6..14bf013f 100644
--- a/Admin.NET/Admin.NET.Core/Service/Job/JobClusterServer.cs
+++ b/Admin.NET/Admin.NET.Core/Service/Job/JobClusterServer.cs
@@ -11,7 +11,7 @@ namespace Admin.NET.Core.Service;
///
public class JobClusterServer : IJobClusterServer
{
- private readonly Random rd = new(DateTime.Now.Millisecond);
+ private readonly Random rd = new(DateTime.UtcNow.Millisecond);
public JobClusterServer()
{
diff --git a/Admin.NET/Admin.NET.Core/Service/Logging/SysLogExService.cs b/Admin.NET/Admin.NET.Core/Service/Logging/SysLogExService.cs
index 5d9a887f..284c26ba 100644
--- a/Admin.NET/Admin.NET.Core/Service/Logging/SysLogExService.cs
+++ b/Admin.NET/Admin.NET.Core/Service/Logging/SysLogExService.cs
@@ -74,6 +74,6 @@ public class SysLogExService : IDynamicApiController, ITransient
IExcelExporter excelExporter = new ExcelExporter();
var res = await excelExporter.ExportAsByteArray(logExList);
- return new FileStreamResult(new MemoryStream(res), "application/octet-stream") { FileDownloadName = DateTime.Now.ToString("yyyyMMddHHmm") + "异常日志.xlsx" };
+ return new FileStreamResult(new MemoryStream(res), "application/octet-stream") { FileDownloadName = DateTime.UtcNow.ToString("yyyyMMddHHmm") + "异常日志.xlsx" };
}
}
\ No newline at end of file
diff --git a/Admin.NET/Admin.NET.Core/Service/Logging/SysLogOpService.cs b/Admin.NET/Admin.NET.Core/Service/Logging/SysLogOpService.cs
index 480ed487..ab1f3c21 100644
--- a/Admin.NET/Admin.NET.Core/Service/Logging/SysLogOpService.cs
+++ b/Admin.NET/Admin.NET.Core/Service/Logging/SysLogOpService.cs
@@ -74,6 +74,6 @@ public class SysLogOpService : IDynamicApiController, ITransient
IExcelExporter excelExporter = new ExcelExporter();
var res = await excelExporter.ExportAsByteArray(logOpList);
- return new FileStreamResult(new MemoryStream(res), "application/octet-stream") { FileDownloadName = DateTime.Now.ToString("yyyyMMddHHmm") + "操作日志.xlsx" };
+ return new FileStreamResult(new MemoryStream(res), "application/octet-stream") { FileDownloadName = DateTime.UtcNow.ToString("yyyyMMddHHmm") + "操作日志.xlsx" };
}
}
\ No newline at end of file
diff --git a/Admin.NET/Admin.NET.Core/Service/Notice/SysNoticeService.cs b/Admin.NET/Admin.NET.Core/Service/Notice/SysNoticeService.cs
index c5896ba2..a216009d 100644
--- a/Admin.NET/Admin.NET.Core/Service/Notice/SysNoticeService.cs
+++ b/Admin.NET/Admin.NET.Core/Service/Notice/SysNoticeService.cs
@@ -101,7 +101,7 @@ public class SysNoticeService : IDynamicApiController, ITransient
public async Task Public(NoticeInput input)
{
// 更新发布状态和时间
- await _sysNoticeRep.UpdateAsync(u => new SysNotice() { Status = NoticeStatusEnum.PUBLIC, PublicTime = DateTime.Now }, u => u.Id == input.Id);
+ await _sysNoticeRep.UpdateAsync(u => new SysNotice() { Status = NoticeStatusEnum.PUBLIC, PublicTime = DateTime.UtcNow }, u => u.Id == input.Id);
var notice = await _sysNoticeRep.GetFirstAsync(u => u.Id == input.Id);
@@ -131,7 +131,7 @@ public class SysNoticeService : IDynamicApiController, ITransient
await _sysNoticeUserRep.UpdateAsync(u => new SysNoticeUser
{
ReadStatus = NoticeUserStatusEnum.READ,
- ReadTime = DateTime.Now
+ ReadTime = DateTime.UtcNow
}, u => u.NoticeId == input.Id && u.UserId == _userManager.UserId);
}
diff --git a/Admin.NET/Admin.NET.Core/Service/Server/SysServerService.cs b/Admin.NET/Admin.NET.Core/Service/Server/SysServerService.cs
index d3d8f741..1529e4ea 100644
--- a/Admin.NET/Admin.NET.Core/Service/Server/SysServerService.cs
+++ b/Admin.NET/Admin.NET.Core/Service/Server/SysServerService.cs
@@ -62,7 +62,7 @@ public class SysServerService : IDynamicApiController, ITransient
public dynamic GetServerUsed()
{
var programStartTime = Process.GetCurrentProcess().StartTime;
- var totalMilliseconds = (DateTime.Now - programStartTime).TotalMilliseconds.ToString();
+ var totalMilliseconds = (DateTime.UtcNow - programStartTime).TotalMilliseconds.ToString();
var ts = totalMilliseconds.Contains('.') ? totalMilliseconds.Split('.')[0] : totalMilliseconds;
var programRunTime = DateTimeUtil.FormatTime(ts.ParseToLong());
diff --git a/Admin.NET/Admin.NET.Core/Service/Wechat/SysWechatPayService.cs b/Admin.NET/Admin.NET.Core/Service/Wechat/SysWechatPayService.cs
index 905974f6..eaa500d6 100644
--- a/Admin.NET/Admin.NET.Core/Service/Wechat/SysWechatPayService.cs
+++ b/Admin.NET/Admin.NET.Core/Service/Wechat/SysWechatPayService.cs
@@ -68,7 +68,7 @@ public class SysWechatPayService : IDynamicApiController, ITransient
[DisplayName("微信支付统一下单获取Id(商户直连)")]
public async Task CreatePayTransaction([FromBody] WechatPayTransactionInput input)
{
- string outTradeNumber = DateTimeOffset.Now.ToString("yyyyMMddHHmmssfff") + (new Random()).Next(100, 1000); // 微信需要的订单号(唯一)
+ string outTradeNumber = DateTimeOffset.UtcNow.ToString("yyyyMMddHHmmssfff") + (new Random()).Next(100, 1000); // 微信需要的订单号(唯一)
//检查订单信息是否已存在(使用“商户交易单号+状态”唯一性判断)
var wechatPay = await _sysWechatPayRep.GetFirstAsync(u => u.OrderId == input.OrderId && u.OrderStatus == input.OrderStatus);
@@ -84,7 +84,7 @@ public class SysWechatPayService : IDynamicApiController, ITransient
Description = input.Description,
Attachment = input.Attachment,
GoodsTag = input.GoodsTag,
- ExpireTime = DateTimeOffset.Now.AddMinutes(10),
+ ExpireTime = DateTimeOffset.UtcNow.AddMinutes(10),
NotifyUrl = _payCallBackOptions.WechatPayUrl,
Amount = new CreatePayTransactionJsapiRequest.Types.Amount() { Total = input.Total },
Payer = new CreatePayTransactionJsapiRequest.Types.Payer() { OpenId = input.OpenId }
@@ -126,7 +126,7 @@ public class SysWechatPayService : IDynamicApiController, ITransient
[DisplayName("微信支付统一下单获取Id(服务商模式)")]
public async Task CreatePayPartnerTransaction([FromBody] WechatPayTransactionInput input)
{
- string outTradeNumber = DateTimeOffset.Now.ToString("yyyyMMddHHmmssfff") + (new Random()).Next(100, 1000); // 微信需要的订单号(唯一)
+ string outTradeNumber = DateTimeOffset.UtcNow.ToString("yyyyMMddHHmmssfff") + (new Random()).Next(100, 1000); // 微信需要的订单号(唯一)
//检查订单信息是否已存在(使用“商户交易单号+状态”唯一性判断)
var wechatPay = await _sysWechatPayRep.GetFirstAsync(u => u.OrderId == input.OrderId && u.OrderStatus == input.OrderStatus);
@@ -145,7 +145,7 @@ public class SysWechatPayService : IDynamicApiController, ITransient
Description = input.Description,
Attachment = input.Attachment,
GoodsTag = input.GoodsTag,
- ExpireTime = DateTimeOffset.Now.AddMinutes(10),
+ ExpireTime = DateTimeOffset.UtcNow.AddMinutes(10),
NotifyUrl = _payCallBackOptions.WechatPayUrl,
Amount = new CreatePayPartnerTransactionJsapiRequest.Types.Amount() { Total = input.Total },
Payer = new CreatePayPartnerTransactionJsapiRequest.Types.Payer() { OpenId = input.OpenId }
@@ -288,7 +288,7 @@ public class SysWechatPayService : IDynamicApiController, ITransient
var request = new CreateRefundDomesticRefundRequest()
{
OutTradeNumber = input.OutTradeNumber,
- OutRefundNumber = "REFUND_" + DateTimeOffset.Now.ToString("yyyyMMddHHmmssfff"),
+ OutRefundNumber = "REFUND_" + DateTimeOffset.UtcNow.ToString("yyyyMMddHHmmssfff"),
Amount = new CreateRefundDomesticRefundRequest.Types.Amount()
{
Total = input.Total,
diff --git a/Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs b/Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs
index 6c8455c6..85e78dcc 100644
--- a/Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs
+++ b/Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs
@@ -117,7 +117,7 @@ public static class SqlSugarSetup
// par.Value = string.Concat(par.Value.ToString()[..100], "......");
//}
- var log = $"【{DateTime.Now}——执行SQL】\r\n{UtilMethods.GetNativeSql(sql, pars)}\r\n";
+ var log = $"【{DateTime.UtcNow}——执行SQL】\r\n{UtilMethods.GetNativeSql(sql, pars)}\r\n";
var originColor = Console.ForegroundColor;
if (sql.StartsWith("SELECT", StringComparison.OrdinalIgnoreCase))
Console.ForegroundColor = ConsoleColor.Green;
@@ -132,7 +132,7 @@ public static class SqlSugarSetup
db.Aop.OnError = ex =>
{
if (ex.Parametres == null) return;
- var log = $"【{DateTime.Now}——错误SQL】\r\n{UtilMethods.GetNativeSql(ex.Sql, (SugarParameter[])ex.Parametres)}\r\n";
+ var log = $"【{DateTime.UtcNow}——错误SQL】\r\n{UtilMethods.GetNativeSql(ex.Sql, (SugarParameter[])ex.Parametres)}\r\n";
Log.Error(log, ex);
App.PrintToMiniProfiler("SqlSugar", "Error", log);
};
@@ -152,7 +152,7 @@ public static class SqlSugarSetup
var fileName = db.Ado.SqlStackTrace.FirstFileName; // 文件名
var fileLine = db.Ado.SqlStackTrace.FirstLine; // 行号
var firstMethodName = db.Ado.SqlStackTrace.FirstMethodName; // 方法名
- var log = $"【{DateTime.Now}——超时SQL】\r\n【所在文件名】:{fileName}\r\n【代码行数】:{fileLine}\r\n【方法名】:{firstMethodName}\r\n" + $"【SQL语句】:{UtilMethods.GetNativeSql(sql, pars)}";
+ var log = $"【{DateTime.UtcNow}——超时SQL】\r\n【所在文件名】:{fileName}\r\n【代码行数】:{fileLine}\r\n【方法名】:{firstMethodName}\r\n" + $"【SQL语句】:{UtilMethods.GetNativeSql(sql, pars)}";
Log.Warning(log);
App.PrintToMiniProfiler("SqlSugar", "Slow", log);
}
@@ -174,7 +174,7 @@ public static class SqlSugarSetup
// 若创建时间为空则赋值当前时间
else if (entityInfo.PropertyName == nameof(EntityBase.CreateTime) && entityInfo.EntityColumnInfo.PropertyInfo.GetValue(entityInfo.EntityValue) == null)
{
- entityInfo.SetValue(DateTime.Now);
+ entityInfo.SetValue(DateTime.UtcNow);
}
// 若当前用户非空(web线程时)
if (App.User != null)
@@ -211,7 +211,7 @@ public static class SqlSugarSetup
else if (entityInfo.OperationType == DataFilterType.UpdateByObject)
{
if (entityInfo.PropertyName == nameof(EntityBase.UpdateTime))
- entityInfo.SetValue(DateTime.Now);
+ entityInfo.SetValue(DateTime.UtcNow);
else if (entityInfo.PropertyName == nameof(EntityBase.UpdateUserId))
entityInfo.SetValue(App.User?.FindFirst(ClaimConst.UserId)?.Value);
else if (entityInfo.PropertyName == nameof(EntityBase.UpdateUserName))
@@ -266,7 +266,7 @@ public static class SqlSugarSetup
var logDb = ITenant.IsAnyConnection(SqlSugarConst.LogConfigId) ? ITenant.GetConnectionScope(SqlSugarConst.LogConfigId) : db;
await logDb.CopyNew().Insertable(logDiff).ExecuteCommandAsync();
Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine(DateTime.Now + $"\r\n*****开始差异日志*****\r\n{Environment.NewLine}{JSON.Serialize(logDiff)}{Environment.NewLine}*****结束差异日志*****\r\n");
+ Console.WriteLine(DateTime.UtcNow + $"\r\n*****开始差异日志*****\r\n{Environment.NewLine}{JSON.Serialize(logDiff)}{Environment.NewLine}*****结束差异日志*****\r\n");
};
}
diff --git a/Admin.NET/Admin.NET.Core/Util/AdminResultProvider.cs b/Admin.NET/Admin.NET.Core/Util/AdminResultProvider.cs
index dc2a8979..4a6e6f67 100644
--- a/Admin.NET/Admin.NET.Core/Util/AdminResultProvider.cs
+++ b/Admin.NET/Admin.NET.Core/Util/AdminResultProvider.cs
@@ -116,7 +116,7 @@ public class AdminResultProvider : IUnifyResultProvider
Result = data,
Type = succeeded ? "success" : "error",
Extras = UnifyContext.Take(),
- Time = DateTime.Now
+ Time = DateTime.UtcNow
};
}
}
diff --git a/Admin.NET/Admin.NET.Core/Util/ComputerUtil.cs b/Admin.NET/Admin.NET.Core/Util/ComputerUtil.cs
index 60e6940b..9fad8c3d 100644
--- a/Admin.NET/Admin.NET.Core/Util/ComputerUtil.cs
+++ b/Admin.NET/Admin.NET.Core/Util/ComputerUtil.cs
@@ -198,19 +198,19 @@ public static class ComputerUtil
//返回:1705379131
//使用date格式化即可
string output = ShellUtil.Bash("date -r $(sysctl -n kern.boottime | awk '{print $4}' | tr -d ',') +\"%Y-%m-%d %H:%M:%S\"").Trim();
- runTime = DateTimeUtil.FormatTime((DateTime.Now - output.ParseToDateTime()).TotalMilliseconds.ToString().Split('.')[0].ParseToLong());
+ runTime = DateTimeUtil.FormatTime((DateTime.UtcNow - output.ParseToDateTime()).TotalMilliseconds.ToString().Split('.')[0].ParseToLong());
}
else if (IsUnix())
{
string output = ShellUtil.Bash("uptime -s").Trim();
- runTime = DateTimeUtil.FormatTime((DateTime.Now - output.ParseToDateTime()).TotalMilliseconds.ToString().Split('.')[0].ParseToLong());
+ runTime = DateTimeUtil.FormatTime((DateTime.UtcNow - output.ParseToDateTime()).TotalMilliseconds.ToString().Split('.')[0].ParseToLong());
}
else
{
string output = ShellUtil.Cmd("wmic", "OS get LastBootUpTime/Value");
string[] outputArr = output.Split('=', (char)StringSplitOptions.RemoveEmptyEntries);
if (outputArr.Length == 2)
- runTime = DateTimeUtil.FormatTime((DateTime.Now - outputArr[1].Split('.')[0].ParseToDateTime()).TotalMilliseconds.ToString().Split('.')[0].ParseToLong());
+ runTime = DateTimeUtil.FormatTime((DateTime.UtcNow - outputArr[1].Split('.')[0].ParseToDateTime()).TotalMilliseconds.ToString().Split('.')[0].ParseToLong());
}
return runTime;
}
diff --git a/Admin.NET/Admin.NET.Core/Util/DateTimeUtil.cs b/Admin.NET/Admin.NET.Core/Util/DateTimeUtil.cs
index 070f2abb..4662e9fa 100644
--- a/Admin.NET/Admin.NET.Core/Util/DateTimeUtil.cs
+++ b/Admin.NET/Admin.NET.Core/Util/DateTimeUtil.cs
@@ -17,9 +17,9 @@ public class DateTimeUtil
public static DateTime GetBeginTime(DateTime? dateTime, int days = 0)
{
if (dateTime == DateTime.MinValue || dateTime == null)
- return DateTime.Now.AddDays(days);
+ return DateTime.UtcNow.AddDays(days);
- return dateTime ?? DateTime.Now;
+ return dateTime ?? DateTime.UtcNow;
}
///
@@ -122,7 +122,7 @@ public class DateTimeUtil
{
if (dt == null) return string.Empty;
- if (dt.Value.Year == DateTime.Now.Year)
+ if (dt.Value.Year == DateTime.UtcNow.Year)
return dt.Value.ToString("MM-dd HH:mm");
else
return dt.Value.ToString("yyyy-MM-dd HH:mm");
diff --git a/Admin.NET/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/ApprovalFlowService.cs b/Admin.NET/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/ApprovalFlowService.cs
index 53748fdb..ef133c4c 100644
--- a/Admin.NET/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/ApprovalFlowService.cs
+++ b/Admin.NET/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/ApprovalFlowService.cs
@@ -117,9 +117,9 @@ public class ApprovalFlowService : IDynamicApiController, ITransient
///
private async Task LastCode(string prefix)
{
- var today = DateTime.Now.Date;
+ var today = DateTime.UtcNow.Date;
var count = await _approvalFlowRep.AsQueryable().Where(u => u.CreateTime >= today).CountAsync();
- return prefix + DateTime.Now.ToString("yyMMdd") + string.Format("{0:d2}", count + 1);
+ return prefix + DateTime.UtcNow.ToString("yyMMdd") + string.Format("{0:d2}", count + 1);
}
[HttpGet]
diff --git a/Admin.NET/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/SysApproval/SysApprovalService.cs b/Admin.NET/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/SysApproval/SysApprovalService.cs
index 11c8d88b..c3bf93d7 100644
--- a/Admin.NET/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/SysApproval/SysApprovalService.cs
+++ b/Admin.NET/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/SysApproval/SysApprovalService.cs
@@ -48,7 +48,7 @@ public class SysApprovalService : ITransient
var approvalFlow = new ApprovalFlowRecord
{
FormName = funcName,
- CreateTime = DateTime.Now,
+ CreateTime = DateTime.UtcNow,
};
// 判断是否需要审批
@@ -59,7 +59,7 @@ public class SysApprovalService : ITransient
FlowId = approvalFlow.Id,
FormName = funcName,
FormType = typeName,
- CreateTime = DateTime.Now,
+ CreateTime = DateTime.UtcNow,
};
// 判断是否需要审批
diff --git a/Admin.NET/Plugins/Admin.NET.Plugin.DingTalk/Job/SyncDingTalkUserJob.cs b/Admin.NET/Plugins/Admin.NET.Plugin.DingTalk/Job/SyncDingTalkUserJob.cs
index e4f7599d..d66df4c8 100644
--- a/Admin.NET/Plugins/Admin.NET.Plugin.DingTalk/Job/SyncDingTalkUserJob.cs
+++ b/Admin.NET/Plugins/Admin.NET.Plugin.DingTalk/Job/SyncDingTalkUserJob.cs
@@ -167,7 +167,7 @@ public class SyncDingTalkUserJob : IJob
var originColor = Console.ForegroundColor;
Console.ForegroundColor = ConsoleColor.Blue;
- Console.WriteLine("【" + DateTime.Now + "】同步钉钉用户");
+ Console.WriteLine("【" + DateTime.UtcNow + "】同步钉钉用户");
Console.ForegroundColor = originColor;
}
}
\ No newline at end of file