在 json 和 Web api 之间保留 C# 日期时间本地时间?

2024-01-16

当我在 json 对象中有数据时间时,我遇到问题,它会将其转换为 C# dateTime 中的 UTC 时区,只是想问如何保留本地时间?我可以在 web.config 文件或 geter 或 setter 中设置时区属性吗,因为我必须对象可以有日期和时间吗? 这是课堂例子吗?

public class Patient
{
    public long RecordId { get; set; }
    public string Username { get; set; }
    public DateTime Date 
      {
          get; 
          set;
      }
    public bool Deleted { get; set; }
    public string ModifiedBy { get; set; }
    public DateTime ModifiedOn { get; set; }
    public string CreatedBy { get; set; }
    public DateTime CreatedOn { get; set; }
}

更新我尝试使用 getter 和 setter 来修复我有这个异常{Cannot evaluate expression because the current thread is in a stack overflow state.}

[System.Web.Http.Route("api/postpatientform")]
public HttpResponseMessage PostPatientForm(PatientViewModel form)
{
    using (var db = new AthenaContext())
    {
        try
        {
            var form2 = Mapper.Map<Patient>(form);
            db.Patient.Add(form2);
            db.SaveChanges();

            var newId = form2.RecordId;
            foreach (var activity in form.PatientActivities)
            {
                activity.PatientId = newId;

                db.NonPatientActivities.Add(Mapper.Map<PatientActivity>(activity));
            }
            db.SaveChanges();

        }
        catch (DbEntityValidationException e)
        {
            foreach (var eve in e.EntityValidationErrors)
            {
                Debug.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                    eve.Entry.Entity.GetType().Name, eve.Entry.State);
                foreach (var ve in eve.ValidationErrors)
                {
                    Debug.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                        ve.PropertyName, ve.ErrorMessage);
                }
            }
            throw;
        }
    }

    return Request.CreateResponse<Patient>(HttpStatusCode.Created, null);
}

您可以更改序列化器设置以使用 JSON.net 序列化器:

GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings = 
    new JsonSerializerSettings
    {
        DateFormatHandling = DateFormatHandling.IsoDateFormat,
        DateTimeZoneHandling = DateTimeZoneHandling.Unspecified,
    };

您还可以选择多种日期格式:日期时区处理 https://github.com/JamesNK/Newtonsoft.Json/blob/master/Src/Newtonsoft.Json/DateTimeZoneHandling.cs

/// <summary>
/// Specifies how to treat the time value when converting between string and <see cref="DateTime"/>.
/// </summary>
public enum DateTimeZoneHandling
{
    /// <summary>
    /// Treat as local time. If the <see cref="DateTime"/> object represents a Coordinated Universal Time (UTC), it is converted to the local time.
    /// </summary>
    Local = 0,

    /// <summary>
    /// Treat as a UTC. If the <see cref="DateTime"/> object represents a local time, it is converted to a UTC.
    /// </summary>
    Utc = 1,

    /// <summary>
    /// Treat as a local time if a <see cref="DateTime"/> is being converted to a string.
    /// If a string is being converted to <see cref="DateTime"/>, convert to a local time if a time zone is specified.
    /// </summary>
    Unspecified = 2,

    /// <summary>
    /// Time zone information should be preserved when converting.
    /// </summary>
    RoundtripKind = 3
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 json 和 Web api 之间保留 C# 日期时间本地时间? 的相关文章

  • 检查两个数是否是彼此的排列?

    给定两个数字 a b 使得 1 例如 123 是 312 的有效排列 我也不想对数字中的数字进行排序 如果您指的是数字的字符 例如 1927 和 9721 则 至少 有几种方法 如果允许排序 一种方法是简单地sprintf将它们放入两个缓冲
  • 访问私人成员[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 通过将类的私有成员转换为 void 指针 然后转换为结构来访问类的私有成员是否合适 我认为我无权修改包含我需要访问的数据成员的类 如果不道德 我
  • ASP.NET Core Serilog 未将属性推送到其自定义列

    我有这个设置appsettings json对于我的 Serilog 安装 Serilog MinimumLevel Information Enrich LogUserName Override Microsoft Critical Wr
  • Qt-Qlist 检查包含自定义类

    有没有办法覆盖加载自定义类的 Qt QList 的比较机制 即在 java 中你只需要重写一个比较方法 我有一个带有我的自定义类模型的 QList QList
  • 获取按下的按钮的返回值

    我有一个在特定事件中弹出的表单 它从数组中提取按钮并将标签值设置为特定值 因此 如果您要按下或单击此按钮 该函数应返回标签值 我怎样才能做到这一点 我如何知道点击了哪个按钮 此时代码返回 DialogResult 但我想从函数返回 Tag
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • 将数组向左或向右旋转一定数量的位置,复杂度为 o(n)

    我想编写一个程序 根据用户的输入 正 gt 负 include
  • 从父类调用子类方法

    a doStuff 方法是否可以在不编辑 A 类的情况下打印 B did stuff 如果是这样 我该怎么做 class Program static void Main string args A a new A B b new B a
  • C++ 子字符串返回错误结果

    我有这个字符串 std string date 20121020 我正在做 std cout lt lt Date lt lt date lt lt n std cout lt lt Year lt lt date substr 0 4 l
  • 如何忽略“有符号和无符号整数表达式之间的比较”?

    谁能告诉我必须使用哪个标志才能使 gcc 忽略 有符号和无符号整数表达式之间的比较 警告消息 gcc Wno sign compare 但你确实应该修复它警告你的比较
  • WPF 中的调度程序和异步等待

    我正在尝试学习 WPF C 中的异步编程 但我陷入了异步编程和使用调度程序的困境 它们是不同的还是在相同的场景中使用 我愿意简短地回答这个问题 以免含糊不清 因为我知道我混淆了 WPF 中的概念和函数 但还不足以在功能上正确使用它 我在这里
  • 获取没有非标准端口的原始 url (C#)

    第一个问题 环境 MVC C AppHarbor Problem 我正在调用 openid 提供商 并根据域生成绝对回调 url 在我的本地机器上 如果我点击的话 效果很好http localhost 12345 login Request
  • Json.NET - 反序列化接口属性引发错误“类型是接口或抽象类,无法实例化”

    我有一个类 其属性是接口 public class Foo public int Number get set public ISomething Thing get set 尝试反序列化Foo使用 Json NET 的类给我一条错误消息
  • Qt表格小部件,删除行的按钮

    我有一个 QTableWidget 对于所有行 我将一列的 setCellWidget 设置为按钮 我想将此按钮连接到删除该行的函数 我尝试了这段代码 它不起作用 因为如果我只是单击按钮 我不会将当前行设置为按钮的行 ui gt table
  • clang 实例化后静态成员初始化

    这样的代码可以用 GCC 编译 但 clang 3 5 失败 include
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 将 Python 中的日期与日期时间进行比较

    所以我有一个日期列表 datetime date 2013 7 9 datetime date 2013 7 12 datetime date 2013 7 15 datetime date 2013 7 18 datetime date
  • C - 直接从键盘缓冲区读取

    这是C语言中的一个问题 如何直接读取键盘缓冲区中的数据 我想直接访问数据并将其存储在变量中 变量应该是什么数据类型 我需要它用于我们研究所目前正在开发的操作系统 它被称为 ICS OS 我不太清楚具体细节 它在 x86 32 位机器上运行
  • Validation.ErrorTemplate 的 Wpf 动态资源查找

    在我的 App xaml 中 我定义了一个资源Validation ErrorTemplate 这取决于动态BorderBrush资源 我打算定义独特的BorderBrush在我拥有的每个窗口以及窗口内的不同块内
  • 如何在 C++ BOOST 中像图形一样加载 TIFF 图像

    我想要加载一个 tiff 图像 带有带有浮点值的像素的 GEOTIFF 例如 boost C 中的图形 我是 C 的新手 我的目标是使用从源 A 到目标 B 的双向 Dijkstra 来获得更高的性能 Boost GIL load tiif

随机推荐

  • 如何设置 Apache 返回 204 代码?

    如何设置 Apache 对某个 URL 返回 204 无内容 而不是 404 代码 将 Redirect 文档与 RedirectMatch 文档放在一起 我们发现是的 我们可以发回自定义 204 下面是一个简单的示例 它对任何与 foo
  • 错误“在 Visual Studio 中找不到元数据文件 '...\Release\project.dll'”

    最近我开始随机收到此消息 在 Visual Studio 中找不到元数据文件 Release project dll 我有一个包含多个项目的解决方案 当前的构建模式是 调试 并且所有项目的配置都设置为 调试 但是当我尝试运行主项目时 有时它
  • 基于maven配置文件的黄瓜标签

    我正在尝试基于变量 tags 运行特定的 Gherkin 场景 如果可能的话 例如 如果我的配置文件是 dev 我想运行场景 1 如果配置文件是 qa 我想运行场景 2 我可以在我的 java 类中获取配置文件值 我还可以在命令行中传递标签
  • Spring Cloud Contract 从 Artifactory 检索存根时出现问题

    我对两个消费者和一个生产者进行了离线工作正常的测试 但是当我更改它们以从 Artifactory 检索存根时 消费者测试失败 这是离线工作的代码 RunWith SpringRunner class SpringBootTest class
  • SQL 不同的逗号分隔列表

    我正在尝试使用以下查询在表中创建逗号分隔的名称列表 DECLARE listStr VARCHAR MAX SELECT listStr COALESCE listStr Name FROM Production Product SELEC
  • linux下如何将PE(Portable Executable)格式转换为ELF

    将 PE 二进制文件转换为 ELF 二进制文件的最佳工具是什么 以下是这个问题的简要动机 假设我有一个简单的 C 程序 我使用 Linux 的 gcc 编译它 这给出了 ELF 并使用 Windows 的 i586 mingw32msvc
  • SDL_Init 中存在大量内存泄漏

    EDIT 更新了一些新信息 粗体 此外 代码和 Valgrinds 输出也已更新 我最近开始使用 SDL2 作为我的图形库 开发了一些东西后 我决定运行 Valgrind 并发现我正在泄漏内存 大量内存 缩小范围后我编译了这段代码 In C
  • 在 Interface Builder 中设置遮罩角

    值是什么类型 layerMaxXMinYCorner layerMinXMinYCorner 是否可以在 Interface Builder 中的视图上设置此参数 我知道怎么设置layer borderWidth layer borderU
  • 如何将 spring boot 参数传递给 tomcat 部署?

    我有一个 Spring Boot 项目 在 pom 文件中声明了打包 war
  • 除了 recaptcha.net 之外,还有其他方法可以阻止垃圾邮件吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我公司的一位排名比我高的成员拒绝在他的网站上使用 recaptcha net 来阻止公共表单上的垃圾邮
  • 如何在服务器端知道用户已离开网站或立即关闭浏览器窗口?

    在 ASP NET 中 当会话超时时 Session End 将被触发 那么我可以猜测用户已经在这个方法中离开或关闭了浏览器窗口 但是有一些延迟 直到超时 有什么更好的解决方案吗 由于有很多事情可能会中断用户的访问 例如连接丢失或浏览器崩溃
  • 选择正确的分区规则

    我正在设置一个新的 PostgreSQL 9 数据库 其中将包含数百万 甚至数十亿 行 所以我决定使用 PostgreSQL 继承来分区数据 我创建了一个像这样的主表 例如简化的 CREATE TABLE mytable user id i
  • .htaccess - 尝试强制 https 时“重定向过多”

    我试图强制根域的子文件夹 bbb 始终显示为 https 还有我的 htaccess文件负责页面的扩展名 我已经把 htaccess文件在我的里面 bbb 文件夹 但当我尝试强制连接到 https 时 我得到 太多重定向 没有它一切工作正常
  • Maven:在构建过程中安装jar文件

    我有一个要求如下 我需要在 Maven 构建过程中运行 ant 构建文件 我需要从 pom xml 文件调用 build xml 我已经使用 maven antrun plugin 做到了这一点 现在我需要在 maven 编译我的项目源之前
  • Azure WebJobs 发布错误

    我们部署了一个带有生产槽和开发槽的 Web 应用程序 我们创建了多个 Web 作业 连续的和计划的 并且我们希望手动部署它们 不链接到 Web 应用程序部署 因此我们遵循的流程部署是 1 gt 部署Web应用程序 2 gt 对于每个 Web
  • 无法从 Kubernetes 中的 Spring Boot 客户端从远程 Spring 配置获取值

    这是我的客户端的 bootstrap yml spring cloud config enabled true uri http localhost 8888 label master spring application name mic
  • 释放空指针

    如何释放空指针 struct vStruct void vPtr struct vStruct next struct vStruct sObj struct vStruct sObjNew sObj delete sObjNew gt v
  • 当检测到pointermove时,链接上的鼠标操作不会触发pointerup事件

    我无法获取pointerup在链接上触发的事件 A带有一个标签href属性集 对于event pointerType mouse 如果鼠标在之间移动pointerdown and pointerup 我有以下场景 var lastEvent
  • 为什么我的最终向量是应有大小的两倍并且有前导 0?

    我正在为一个班级做这个小项目 我已经基本完成了它 但由于某种原因 我的合并向量是应有大小的两倍 并且有不应该存在的前导 0 main函数是为我们编写的 我们必须编写分区 快速排序和multiway merge函数 首先 程序应该获取列表的数
  • 在 json 和 Web api 之间保留 C# 日期时间本地时间?

    当我在 json 对象中有数据时间时 我遇到问题 它会将其转换为 C dateTime 中的 UTC 时区 只是想问如何保留本地时间 我可以在 web config 文件或 geter 或 setter 中设置时区属性吗 因为我必须对象可以