CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

由20分加到50分的问题:关于字符串与时间、日期转化的问题

楼主Oldyig(沒有花香)2003-08-02 23:59:33 在 .NET技术 / C# 提问

我有一个文本文件,分别有两行表示日期与时间。  
  又有一个ACESS数据库,分别有两个字段,分别表示日期与时间。  
  现在有两个字符串:      
  string     strDate=         "FRE-02-1999"      
  string     strTime     =     "21:03:05"      
  1、现在使用:  
  DateTime         myDate     =     new     DateTime();      
  DateTime     myTime     =     new     DateTime();      
     
  myDate     =     DateTime.Parse(strDate);      
  myTime     =     DateTime.Parse(strTime);      
     
  以上转化出来的myDate符合要求,而myTime为何得到的是本日的日期?      
  如何才能把myTime转化为符合要求的时间类型.      
   
  2、我使用了班门斧的方法,  
  即:  
  strTime   =   strDate   +   "   "   +   strTime;  
  DateTime   myTime   =   new   DateTime();  
  myTime     =   DateTime.Parse(   strTime   )  
  得到的只有日期,即"2/2/1999",时分秒还是不行.  
  问题点数:50、回复次数:15Top

1 楼TheAres(班门斧)回复于 2003-08-03 00:04:03 得分 30

string   strDate=     "Feb-02-1999"   +   "   "   +   "21:03:05";  
  DateTime   myTime   =   DateTime.Parse(   strDate   );  
  MessageBox.Show(   myTime.ToString());  
   
  你这段程序会显示什么结果?  
  Top

2 楼panyee(快乐王子)回复于 2003-08-03 00:08:45 得分 0

可以取得时间  
   
  string   st   =   myTime.ToString("yyyy-MM-dd   HH:mm:ss");  
  取得的有日期和时分秒Top

3 楼snof(雪狼)回复于 2003-08-03 00:10:22 得分 0

试试如下的:  
  string   m=     "Feb-02-1999"   +   "   "   +   "21:03:05";  
  DateTime   temp     =System.Convert.ToDateTime(m);  
  MessageBox.Show(   temp.ToString());Top

4 楼Oldyig(沒有花香)回复于 2003-08-03 00:14:38 得分 0

班兄,您好!  
  现在显示出来的是正确的,  
  但由于数据库要求日期与时间分别存放,  
  所以必须要把这两个字符串分别转化到数据库中进行存放.这个问题如何解决呢?  
  如何使用字符串存放的话,必须要影响效率.Top

5 楼TheAres(班门斧)回复于 2003-08-03 00:21:40 得分 0

Hoho,我现在知道你的意思了。  
   
  根本不需要转换。直接存进去就可以了。  
   
  你现在是如何写入数据库的呢?Top

6 楼shixueli(我们总是不能随心所欲)回复于 2003-08-03 00:34:58 得分 0

字符串只要符合要求,比如说这种形式:'4/05/98'  
  是可以直接插入数据库的,  
   
  但是好象sqlserver没有一个数据类型是专门存放年月日或者小时分妙的吧,  
  都是一块放的,取出来的时候再做分离呗Top

7 楼Oldyig(沒有花香)回复于 2003-08-03 01:26:10 得分 0

我使用的是AOD.NET.再通过XML,建立一个数据集myDataSet.  
   
  再实例化一个基于DataRow的myDataRow类,  
  然后用转化后的myTime和myDate,赋给myRow.time和myRow.date,再追加至数据库。  
   
  用dataGride显示数据库表即myDataSet(目前只有一个表)的内容。  
  Top

8 楼caoit(lost)回复于 2003-08-03 01:30:37 得分 0

study!Top

9 楼Oldyig(沒有花香)回复于 2003-08-03 01:37:24 得分 0

原来文本数据格式为:  
  FED-02-1999   其它文本                                         -------我称之为日期行  
  [02:03:54]   其它文本                                           -------我称之为数据行    
  [02:03:56]   其它文件  
  .........  
  .........  
  FED-02-1999   其它文本                                         -------我称之为日期行  
  ......  
  .....  
  FED-03-1999   其它文本                                         -------我称之为日期行  
     
  由于日期行与数据行的内容都不是很规范,所以不能直接导入数据库,而只能编程实现.  
  再导入数据库后,再进行数据分析.  
  Top

10 楼shixueli(我们总是不能随心所欲)回复于 2003-08-03 01:49:05 得分 20

02:03:56这种形式不能直接放进access数据库吗?  
  还有access里面有只存放年月日不放小时分妙的数据类型吗?  
   
  -为什么不把他们合并成一个日期型的字段,取出来时再分离?Top

11 楼Oldyig(沒有花香)回复于 2003-08-03 01:58:36 得分 0

成功兄,  
  我进行了合并,再写入数据库中  
  程序段如下:  
  string   strDate=     "Feb-02-1999"   +   "   "   +   "21:03:05";  
  DateTime   myTime   =   DateTime.Parse(   strDate   );  
   
  MYDataSet.RecordsRow   myRow   =    
                myDataSet.Records.NewRecordsRow();  
  myRow.time   =   myTime;  
   
  MyDataSet.Records.AddRecordsRow(myRow);  
  myOleDbDataAdapter.Update(aleDataSet);  
  MyOleDbDataAdapter.Fill(aleDataSet);  
   
  在DataGride控件的time列中只显示出 2-2-1999  
  没有时间  
   
   
  Top

12 楼Oldyig(沒有花香)回复于 2003-08-03 02:00:53 得分 0

此外就是先整存进去,使用时再分离会影响效率。因为这有上百万条这样的记录,如果需要搞点分析工作就麻烦了。Top

13 楼shixueli(我们总是不能随心所欲)回复于 2003-08-03 02:39:32 得分 0

我试过:  
  string   strDate=     "Feb-02-1999"   +   "   "   +   "21:03:05";  
  DateTime   myTime   =   DateTime.Parse(   strDate   );  
   
  Response.Write(myTime.ToString());  
   
  结果是1999-2-2   21:03:05但是不知道你的time列声明的时候是什么类型?Top

14 楼Oldyig(沒有花香)回复于 2003-08-03 04:56:49 得分 0

成功兄您说的,我已经试过了,结果和你一样。  
  但追加到dataset中后,DataGride控件显示却是1999-2-2  
   
  在dataset中,time列的类型为dataTime,  
  在ACCESS数据库中time为长时间类型Top

相关问题

  • stl中用什么函数将 字符串转化为 时间(日期)?
  • 求:将日期-时间字符串转化为结构的函数或类
  • 字符串如何转化为时间
  • 求:将日期-时间字符串转化为结构的函数或类 (不包括MFC类)
  • 字符串转化
  • 怎么判断该字符串是否为日期时间字符串?
  • 怎么判断该字符串是否为日期时间字符串?
  • VC(SDK)中,怎么把字符串转化成日期?
  • 问个日期与字符串转化问题
  • 如何将字符串转化为日期型?

关键词

  • 数据库
  • 转化
  • 文本
  • 数据
  • mytime
  • 字符串
  • strdate
  • 日期
  • datetime
  • strtime

得分解答快速导航

  • 帖主:Oldyig
  • TheAres
  • shixueli

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo