【问题标题】:how to change date format to mm/dd/yyyy to dd/mm/yyyy in c# [duplicate]如何在c#中将日期格式更改为mm/dd/yyyy到dd/mm/yyyy [重复]
【发布时间】:2017-03-23 15:49:20
【问题描述】:

我以“3/16/2017 10:53:44 PM”格式获取日期,如何以“16/3/2017 10:53:44 PM”格式获取日期

sample data

    "timestamp":"2017-03-16T17:23:44.860Z"


desired op
                "16/3/2017 10:53:44 PM"
    code
     binModel.UpdatedTime = TimeZoneInfo.ConvertTimeFromUtc(Convert.ToDateTime(bin.timestamp), TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")).ToString();


    data type
      public String UpdatedTime { get; set; }

【问题讨论】:

  • 为您的参考找到这个 C# fiddle
  • 仅当您希望它显示在 UI 上时才将日期更改为字符串,否则不要更改类型。

标签: c# date datetime model-view-controller


【解决方案1】:

或者尝试解析日期时间。 例如

DateTime dateformat = DateTime.ParseExact(Convert.ToDateTime(bin.timestamp), "dd/M/yyyy h:mm:ss tt",CultureInfo.InvariantCulture);
binModel.UpdatedTime = TimeZoneInfo.ConvertTimeFromUtc(dateformat,TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")).ToString();

【讨论】:

    【解决方案2】:

    你需要把它转换成字符串:

    binModel.UpdatedTime = bin.timestamp.ToString("dd/MM/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture));
    

    欲了解更多信息:https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx

    【讨论】:

      【解决方案3】:

      DateTime 没有显示格式。
      只有 DateTime 的字符串表示。
      您可以在 DateTime 结构的 ToString 方法重载之一中将所需格式指定为参数:

       var s = DateTime.Now.ToString("dd/M/yyyy hh:mm:ss tt");
      

      现在s 包含以下字符串:"23/3/2017 09:01:32 AM"(我的当地时间)

      【讨论】:

        【解决方案4】:
        var currentDate = DateTime.Now.ToString("dd/MM/yyyy");
        

        【讨论】:

        • 纯代码答案不被视为高质量答案。请考虑为您的答案添加更多背景信息或将其作为评论。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-02
        相关资源
        最近更新 更多