dateTime 与string 转换(round-trip)

  1. DateTime标准的字符串格式:https://docs.microsoft.com/zh-cn/dotnet/standard/base-types/standard-date-and-time-format-strings?view=netframework-4.8
  2. DateTime 自定义字符串格式 :https://docs.microsoft.com/zh-cn/dotnet/standard/base-types/custom-date-and-time-format-strings?view=netframework-4.8
  3. dateTime标准格式字符串是可以直接调用DateTime.Parse() 直接转为 date Time对象的。自定义格式的字符串可能会出现转失败的情况。 代码示例:
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace dateTime2Str
{
    class Program
    {
        static void Main(string[] args)
        {
            //使用Round - trip DateTime values.
            DateTime dt = DateTime.Now;
            string dtStr = dt.ToString("o");
            DateTime RoundTripDt = DateTime.Parse(dtStr);
            Console.WriteLine($"original: {dtStr}---round-trip: {RoundTripDt.ToString("o")}");

            //使用标准的其他格式
            DateTime dt2 = DateTime.SpecifyKind(new DateTime(2018,12,23,6,30,25), DateTimeKind.Local);
            string dt2Str = dt2.ToString(" yyyy-MM-dd hh:mm:ss");
            DateTime roundTripDt2 = DateTime.Parse(dt2Str, null, DateTimeStyles.RoundtripKind);
            Console.WriteLine($"original: {dt2Str}---round-trip: {roundTripDt2.ToString("yyyy-MM-dd hh:mm:ss")}");

            自定义日期格式 
            Console.WriteLine("日期与string格式转换");
            string dateTimeStr = DateTime.Now.ToString("yyyyMMddHHmmss");
            DateTime dateTime = DateTime.ParseExact(dateTimeStr, "yyyyMMddHHmmss", null);
            Console.WriteLine($"original: {dateTimeStr}---round-trip: {dateTime.ToString("yyyyMMddHHmmss")}");

            /// 使用IFormatProvider
            DateTimeFormatInfo dtFormat = new DateTimeFormatInfo();
            dtFormat.ShortDatePattern = "yyyy/MM/dd HH:mm:ss";//--这里日期格式必须为标准格式
            DateTime dt3 = Convert.ToDateTime("2011/05/26 11:50:34", dtFormat);

            Console.ReadKey();
        }
    }
}

输出

original: 2019-05-25T12:08:45.7855241+08:00—round-trip: 2019-05-25T12:08:45.7855241+08:00
original: 2018-12-23 06:30:25—round-trip: 2018-12-23 06:30:25
日期与string格式转换
original: 20190525120845—round-trip: 20190525120845

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值