zoukankan      html  css  js  c++  java
  • datetime format

    CultureInfo.CurrentCulture获取当前线程的区域信息中,包括DateTimeFormat 日期显示格式(日期分隔符)和 NumberFormat 货币。

    试例:

    1、时间中没有使用分割符的情况:

    string temp = "18991230" ;
    DateTime dateTemp = DateTime.ParseExact(temp, "yyyyMMdd", CultureInfo.CurrentCulture, DateTimeStyles.None);

    2、时间中使用分割符的情况:

    string temp = "1899-12-30" ;
    DateTime dateTemp = DateTime.ParseExact(temp, "yyyy-MM-dd", CultureInfo.CurrentCulture, DateTimeStyles.None);

    DateTime dateTemp = DateTime.ParseExact(temp, "yyyy/MM/dd", CultureInfo.CurrentCulture, DateTimeStyles.None);

    都正确,原因:

    CultureInfo.CurrentCulture获取当前线程的CultureInfo的DateTimeFormat属性作为IFormatProvider,然后在DateTimeParse.ParseByFormat方法中,遇到format参数的/字符时,会比较输入日期字符串的当前字符是否为当前DateTimeFormatInfo的DateSeperator,如果是,则返回true,即允许转换,如果不是则返回false。当前线程的区域信息中,日期分隔符即为-,因此,转换得以成功。

    像有分割符的情况最好使用下面方式:

    string temp = "1899-12-30" ;

    DateTimeFormatInfo dtfi = new CultureInfo("zh-CN", false).DateTimeFormat;

    DateTime dateTemp = DateTime.ParseExact(temp "yyyy-MM-dd", dtfi, DateTimeStyles.None) ; //使用当前分割符

    DateTimeFormatInfo dtfi = new CultureInfo("en-US", false).DateTimeFormat;

    // Thread.CurrentThread.CurrentCulture=c;
    try
    {
    DateTime a = DateTime.ParseExact(s, "dd/MM/yyyy", dtfi, DateTimeStyles.None);
    string sss = a.ToString("dd/MM/yyyy");
    }
    catch (Exception)
    {


    }

  • 相关阅读:
    sql强化训练(4)
    Python中用PIL/Pillow裁剪图片
    Python中用PIL/Pillow旋转图片
    server项目部署服务器
    ZOJ Monthly, June 2012 [7月9日暑假集训]
    模线性方程(递归版+迭代版)& 扩展欧几里德
    线性筛素数
    First Bangladeshi Contest 20122013 Season[7月12日暑假集训]
    36th ACM/ICPC Asia Regional Daejeon(韩国大田) [7月7日暑假集训]
    MillerRabin 素性测试
  • 原文地址:https://www.cnblogs.com/FaDeKongJian/p/3107295.html
Copyright © 2011-2022 走看看