关于ASP.NET中日期转换的心得

asp.net|日期|心得|转换

  日期转换成字符串几乎是每个项目都要进行的工作,无论您用什么开发工具。在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 这种方式是唯一可用的方案。

时间: 2024-10-04 11:20:13

关于ASP.NET中日期转换的心得的相关文章

关于日期转换的心得

心得|转换 日期转换成字符串几乎是每个项目都要进行的工作,无论您用什么开发工具.在SQL Server中使用Convert或Cast可以方便的转换日期为各种格式的字符串,在PB中可以用string(date,"yyyy-mm-dd")一步到位.在asp.net中呢?我发现总是不如我意,如果使用yyyy-mm-dd这种方式转换:BeginDate.SelectedDate.ToString("yyyy-mm-dd",DateTimeFormatInfo.Invaria

关于ASP程序中日期型数据的格式问题

程序|数据|问题 无论是MIS还是INTRANET(INTERNET)开发,日期型数据始终是一个头痛的问题,因为对它的处理不象处理数字或字符串那样随心所欲,而是差之毫厘,程序就不通. 在WEB-WEBSERVER-DATABASE三层结构的开发过程中,日期型数据的应用较为频繁,而对不同的数据库,日期格式的定义还不一样,所以在编辑网页时首先应留心一下日期的格式如何定义,否则在进行数据库提交和查询操作时就会出错.ASP(ACTIVE SERVER PAGES)是微软提供的WEBSERVER -IIS

呵呵,恭喜本人灌破1000分大关,加贴热点一贴---关于ASP程序中日期型数据的格式问题探讨(转贴)

程序|数据|问题 无论是MIS还是INTRANET(INTERNET)开发,日期型数据始终是一个头痛的问题,因为对它的处理不象处理数字或字符串那样随心所欲,而是差之毫厘,程序就不通. 在WEB-WEBSERVER-DATABASE三层结构的开发过程中,日期型数据的应用较为频繁,而对不同的数据库,日期格式的定义还不一样,所以在编辑网页时首先应留心一下日期的格式如何定义,否则在进行数据库提交和查询操作时就会出错.ASP(ACTIVE SERVER PAGES)是微软提供的WEBSERVER -IIS

关于ASP程序中日期型数据的格式问题探讨

无论是MIS还是INTRANET(INTERNET)开发,日期型数据始终是一个头痛的问题,因为对它的处理不象处理数字或字符串那样随心所欲,而是差之毫厘,程序就不通. 在WEB-WEBSERVER-DATABASE三层结构的开发过程中,日期型数据的应用较为频繁,而对不同的数据库,日期格式的定义还不一样,所以在编辑网页时首先应留心一下日期的格式如何定义,否则在进行数据库提交和查询操作时就会出错.ASP(ACTIVE SERVER PAGES)是微软提供的WEBSERVER -IIS4.0中的一个服务

asp.net中日期时间获取详细

 代码如下 复制代码 DateTime dt = DateTime.Now;  //当前时间 DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d")));  //本周周一 DateTime endWeek = startWeek.AddDays(6);  //本周周日 DateTime startMonth = dt.AddDays(1 - dt.Day);  //本月月初 DateT

javascript中日期转换成时间戳的小例子_javascript技巧

复制代码 代码如下: /*** 日期转化成时间戳* 日期格式 2011-02-02 21:12:13* time_str:日期段 2011-02-02* fix_time:时间段 21:12:13*/function strtotime(time_str, fix_time) {var time = (new Date()).getTime(); if(time_str) {//有日期段var str = time_str.split('-');if (3 === str.length) {va

asp.net中页面格式化输出日期

最简单的在页面中的写法  代码如下 复制代码 %# Eval("Fenddate", "{0:yyyy/MM/dd}")%> 最初我是在程序页面中这样写的  代码如下 复制代码 string sDate = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + Date

asp的日期转换星座函数

经过长时间学习ASP.NETWeb,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西.学习ASP.NETWeb时,你可能会遇到相关问题,这里将介绍ASP.NETWeb问题的解决方法. 该结构分三个层次:表示层.业务层.数据层.数据层:代表物理数据库.业务层:负责数据层与表示层之间的数据传输.表示层:应用程序的客户端,它通过业务层来访问数据库. 表示层所操作的是驻留在内存中的本地数据,当需要更新数据库数据时,要通过业务层提供的更新方法实现.这样可以大大提高应用程序的性能,而且

ASP应用中心得回放 (转)

心得      学好一门编程语言有两个条件是必不可少的,一是理论与实践结合,在实际例程去验证书本上的理论能加深你对理论的理解:二是学会总结,把学习.运用中的心得体会记下来,当成一种经验或者教训加以提炼并在日后的应用中加以改进,一定能提高你对这门编程语言的认识.以下是笔者在学习与运用ASP编程中的两点经验,希望能对大家有所帮助.                                             ASP页面内VBScript和JScript的交互