[料理佳肴] Azure App Service 及 SQL Database 默认时区的问题

如果是自架 IIS、SQL Server 服务器,取得当前时间是看服务器设定的时区在哪里,就会拿到当地时区的当前时间,但是我们使用 Azure 提供的 PaaS 服务,只管用不必管服务器,首要注意的是取得当下时间的 API 默认时区 UTC 的问题,务必在上云之前针对自己的程序调整一番。

App Service

App Service 要调整时区稍微容易一些,只要在“应用程序设定”中去增加一个设定名称“WEBSITE_TIME_ZONE”,值输入“Taipei Standard Time”,应用程序取得的当前时间就是中国台湾时间。

SQL Database

SQL Database 就比较麻烦了,目前还没有一个比较方便的方法像 App Service 加个什么参数就搞定了,如果是新开发的项目还好,但是如果是已经开发好的项目要上云就要扫一下 SQL 语法,将 GETDATE() 置换掉。

我使用的 SQL Database 版本是 12.0.2000.8,支持 AT TIME ZONE 语法,可以直接对取得的时间变更时区。

SELECT CONVERT(DATETIME, SYSDATETIMEOFFSET() AT TIME ZONE ‘Taipei Standard Time‘)

最终我建了一个纯量值函数来取得当前的中国台湾时间,以取代 GETDATE() 函数。

CREATE FUNCTION [dbo].[GETDATE_TW]
(
)
RETURNS DATETIME
AS
BEGIN

    RETURN CONVERT(DATETIME, SYSDATETIMEOFFSET() AT TIME ZONE ‘Taipei Standard Time‘)

END

参考数据

  • Azure 上SQL Database(PaaS)Time Zone时区问题处理
  • Time Zone IDs (Compact 2013)

原文:大专栏  [料理佳肴] Azure App Service 及 SQL Database 默认时区的问题

原文地址:https://www.cnblogs.com/chinatrump/p/11491032.html

时间: 2024-10-29 21:02:27

[料理佳肴] Azure App Service 及 SQL Database 默认时区的问题的相关文章

Windows Azure 功能再扩充-SQL Database开始支持导入导出功能

本文将介绍 SQL Database 新增的导入导出功能,帮助您可以透过数据层应用程序把数据库导入到 SQL Database,或是将 SQL Database 导出至 Cloud Storage. [背景说明] 在 Facebook 上看到 Eric Shangkuan 分享 ScottGu 发表的文章,文中提到 Windows Azure Platform Management Portal 的再次扩充许多新功能,其中包含下列功能: Service Bus Management and Mo

Azure App Service

应用程序服务App Service 作用:Web 托管服务,可将ASP.NET Core Web/Framework 应用部署到 Azure Web 应用. 资源组:在其中部署和管理 Azure 资源(如 Web 应用.数据库和存储帐户)的逻辑容器. 应用服务计划:指定托管应用的 Web 服务器场的位置.大小和功能. 可以在托管多个应用时节省资金,方法是将多个 Web 应用配置为共用单个应用服务计划. 在"解决方案资源管理器"中右键单击"myFirstAzureWebApp&

如何将Azure DevOps中的代码发布到Azure App Service中

标题:如何将Azure DevOps中的代码发布到Azure App Service中 作者:Lamond Lu 背景 最近做了几个项目一直在用Azure DevOps和Azure App Service, 每次都要从零开始搭建从Azure DevOps向Azure App Service发布代码的环境,由于步骤比较繁琐,每次都会忘记其中几个步骤,所以在此总结一下,已备后续再次使用. Azure DevOps和Azure App Service Azure DevOps Azure DevOps

Python app in Azure App Service on Linux初探

使用Azure应用托管平台服务,可以为运维人员省去大量的基础服务器的管理工作,并且可以和Azure DevOps, GitHub, BitBucket, Docker Hub, Azure Container Registry等配合使用实现持续集成和持续部署.现阶段Global Azure也推出了Azure App Service on Linux 服务,用户可以托管他们的应用在Linux环境下,目前支持大多数开发语言和版本,对Python的支持处于public preview阶段,接下来我们做

【Web API系列教程】3.10 — 实战:处理数据(发布App到Azure App Service)

在这最后一节中,你将把应用程序发布到Azure.在Solution Explorer中,右击项目并选择Publish. 点击Publish打开Publish Web对话框.如果你在新建项目的时候选中了Host in Cloud,那么链接和设置就已经都配置好了.在这种情况下,仅仅是需要点击Settings面板,然后选择"Execute Code First Migrations".(如果你没有在开始的时候选中"Host in Cloud",那么请跟随如下步骤)(htt

【Web API系列教程】3.10 — 实战:处理数据(公布App到Azure App Service)

在这最后一节中.你将把应用程序公布到Azure.在Solution Explorer中,右击项目并选择Publish. 点击Publish打开Publish Web对话框. 假设你在新建项目的时候选中了Host in Cloud.那么链接和设置就已经都配置好了.在这样的情况下,不过须要点击Settings面板,然后选择"Execute Code First Migrations".(假设你没有在開始的时候选中"Host in Cloud",那么请尾随例如以下步骤)(

Azure App Service-多语言/高可用/自动缩放的Web托管服务(1)

语雀知识库:https://www.yuque.com/seanyu/azure/appservice 公众号:云计算实战 概览 1.用来托管Web应用,移动后端及RESTful API: 2.Paas产品,无需用户管理基础结构: 3.自动缩放,高可用: 4.后端系统支持Windows 和Linux: 5.支持GitHub,Azure DevOps,Git存储库自动部署: 6.多语言:.NET, Node.js, PHP, Java, Python(Linux),HTML等 7.SLA 99.9

Azure SqlDatabase 系列之2--Azure SQL Database 与 SQL Server 的比较

(内容整理自msdn Azure Sql Database主题部分内容) 与 SQL Server 相似,Azure SQL Database 为基于 Transact-SQL 的数据库访问公开表格格式数据流 (TDS) 接口.这允许你的数据库应用程序采用与它们使用 SQL Server 相同的方式来使用 Azure SQL Database. 与 SQL Server 管理不同,Azure SQL Database 从物理管理中提取逻辑管理:你继续管理数据库.登录名.用户和角色,但 Micro

Azure sql database 监控存储过程的传参情况

背景 实施开发的同事找到我,反馈说项目中使用Azure sql database 之后,无法使用Profiler来监控自己开发的存储过程的参数传参情况.确实profiler这些实例级别的工具在Azure sql database下是不支持的,那我们有没有办法,变相实现监控参数情况,特写一篇博客记录一下. 测试环境 Microsoft SQL Azure (RTM) - 12.0.2000.8 Mar 30 2017 01:30:03 Copyright (C) 2016 Microsoft Co