首页 >> Asp.Net >> 正文
关于ASP.NET中日期转换的心得-ASP.NET
来源:Dotnet频道 作者:采集 时间:2008-3-31


  日期转换成字符串几乎是每个项目都要进行的工作,无论您用什么开发工具。在SQL Server中使用Convert或Cast可以方便的转换日期为各种格式的字符串,在PB中可以用string(date,"yyyy-mm-dd")一步到位。在asp.net中呢?我发现总是不如我意,如果使用yyyy-mm-dd这种方式转换:
  BeginDate.SelectedDate.ToString("yyyy-mm-dd",DateTimeFormatInfo.InvariantInfo)
  
  那么得到到是:2004-00-23
  
  为什么是 00 呢?我百思不得其解。为此,我仔细查看了帮助。下面的代码来自asp.net的联机帮助。
  
  下面的示例说明用不变量 DateTimeFormatInfo 设定 DateTime 值的格式的不同方法。
  [Visual Basic]
  Option Explicit
  Option Strict
  
  Imports System
  Imports System.Globalization
  
  Public Class MainClass
  
  Public Shared Sub Main()
  Dim dt As DateTime = DateTime.Now
  Dim myformat() As String = {"d", "D", _
  "f", "F", _
  "g", "G", _
  "m", _
  "r", _
  "s", _
  "t", "T", _
  "u", "U", _
  "y", _
  "dddd, MMMM dd yyyy", _
  "ddd, MMM d ""'""yy", _
  "dddd, MMMM dd", _
  "M/yy", _
  "dd-MM-yy"}
  Dim mydate As String
  Dim i As Integer
  For i = 0 To myformat.Length - 1
  mydate = dt.ToString(myformat(i), DateTimeFormatInfo.InvariantInfo)
  Console.WriteLine(String.Concat(myformat(i), " :", mydate))
  Next i
  
  ' Output.
  '
  ' d :08/17/2000
  ' D :Thursday, August 17, 2000
  ' f :Thursday, August 17, 2000 16:32
  ' F :Thursday, August 17, 2000 16:32:32
  ' g :08/17/2000 16:32
  ' G :08/17/2000 16:32:32
  ' m :August 17
  ' r :Thu, 17 Aug 2000 23:32:32 GMT
  ' s :2000-08-17T16:32:32
  ' t :16:32
  ' T :16:32:32
  ' u :2000-08-17 23:32:32Z
  ' U :Thursday, August 17, 2000 23:32:32
  ' y :August, 2000
  ' dddd, MMMM dd yyyy :Thursday, August 17 2000
  ' ddd, MMM d "'"yy :Thu, Aug 17 '00
  ' dddd, MMMM dd :Thursday, August 17
  ' M/yy :8/00
  ' dd-MM-yy :17-08-00
  End Sub 'Main
  End Class 'MainClass
  
  没错啊,人家写的也是 yyyy-mm-dd 格式,可是人家可以正确返回结果,我的就不可以。慢点,我再观察一下。难道……难道是大小写的缘故?没错,asp.net刚发布的时候,就宣布过大小写区分要逐步被提到重要位置上来,彻底改变asp时代大小写不分的混乱状态。也就是说,这里的 mm 要写成 MM 才可以。我抱着试试看的心理修改了,一遍通过,可以成功的返回 2004-08-23 了。求知不能就此结束,我马上又全部改成大写:YYYY-MM-DD,结果发现返回 YYYY-08-DD ,也就是说,yyyy-MM-dd 这种方式是唯一可用的方案。
  
  
相关新闻
相关评论
 
评论表单加载中...
 
Asp.Net文章

 在Visual C++应

 编辑:admin

 时间:2008-3-10


   .NET Framework 中多语言支持的实现-.NET Framework
   将Eiffel系统集成到.NET Framework中-.NET Framework
   04年五种常用RAD的测验比较(1)-.NET Framework
   04年五种常用RAD的测验比较(2)-.NET Framework
   04年五种常用RAD的测验比较(3)-.NET Framework
最新文章
   .NET Framework 中多语言支持的实现-.NET Framework
   将Eiffel系统集成到.NET Framework中-.NET Framework
   04年五种常用RAD的测验比较(1)-.NET Framework
   04年五种常用RAD的测验比较(2)-.NET Framework
   04年五种常用RAD的测验比较(3)-.NET Framework
总站搜索
搜索
 
热门文章
   oracle数据库文件中的导入\导出
   用Oracle10g列值掩码技术隐藏敏感数据
   VB程序中用ADO对象动态创建数据库和表-VB.NET
   用VB6写简单程序 让电骡自动关机-VB.NET
   使用.NET2.0编写COM组件供VB调用-VB.NET
   VB.NET:键盘控制焦点移动-VB.NET
   用VB.NET绘制GDI图形-VB.NET
   vb.net中应用 ArrayList 实例-VB.NET
 
推荐文章
ASP.NET中的状态管理-ASP.NET
VC、IE、ASP环境下打印、预备的完美解决方案
oracle数据库文件中的导入\导出
VB.NET中快速访问注册表技巧-VB.NET
在vb中实现超连接的方法!和直接发邮件-VB.NET
用VB做realplayer播放列表-VB.NET
在VB.NET中如何实现和利用SortedLists-VB.NET
利用VB.NET Stopwatch对象记录时间-VB.NET
成都古羌科技有限公司版权所有: Copyright@2007-2010 ,ALL Rights Reserved 蜀ICP备07017240号