佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 847|回复: 12

如何convert string to datetime (我用了两个通用的方法但不行)

[复制链接]
发表于 7-7-2006 04:46 PM | 显示全部楼层 |阅读模式
我用了两个通用的方法来convert string to datetime, 但是不行

Dim closing_date as string = "4.7.06-12.00"

If datetime.parse(closing_date) > now() Then
xxx
End If

Convert.ToDateTime(closing_date) > now() then
xxx
End If
回复

使用道具 举报


ADVERTISEMENT

发表于 7-7-2006 05:15 PM | 显示全部楼层
其实很简单...
在 parse 之前用 coding 的方法把 "4.7.06-12.00" 换成 "4/7/06 12.00" 就可以了.
回复

使用道具 举报

发表于 7-7-2006 09:52 PM | 显示全部楼层
你的timeformat不对... 没有遵守DateTimeFormatInfo class的format... 所以VB不了解...

把它改成4.7.06 12:00就没问题了... 也就是说把"-"去掉... 然后把"."改成":"...
回复

使用道具 举报

 楼主| 发表于 8-7-2006 09:21 AM | 显示全部楼层
谢谢你们的建议, 我的问题已经完成一半了

新的问题是..

Dim closing_date as string = "25/7/06"

If datetime.parse(closing_date) > now() Then
xxx
End If

我发觉必须要是 "7/25/06"才能成功转换!

那么我该如何将 "25/7/06" 换去  "7/25/06"呢?

[ 本帖最后由 counterking 于 8-7-2006 09:52 AM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 8-7-2006 10:14 AM | 显示全部楼层
其实我是用sql statement LOAd DATA INFILE 将csv file 的资料load进 mysql DB

但是在csv file里,日期typed成 "25.7.06-2.30"

结果进到mysql DB的资料就变成 "2025-07-06 2:30:00"

请问这个问题可以解决吗?

注意! "25.7.06-2.30" this format must be persist in my CSV file...

唉...如果可以将format 换去"2006.7.25-2.30" 我就不用那么头痛了

[ 本帖最后由 counterking 于 8-7-2006 10:27 AM 编辑 ]
回复

使用道具 举报

发表于 8-7-2006 12:14 PM | 显示全部楼层
可以解决, 比较麻烦, 两种方法:

1. 在 mysql 里加多一个 string field, 把 date 输入进去那里, 然后 upload 完后, 再用 coding 把那 string update 自己 的 date.

2. 不能再用 infile, 读出文件的每一行, 自行用 code 把 date 转换.
回复

使用道具 举报

Follow Us
 楼主| 发表于 8-7-2006 06:00 PM | 显示全部楼层
我比较偏向于第一个方法,1. 在 mysql 里加多一个 string field, 把 date 输入进去那里, 然后 upload 完后, 再用 coding 把那 string update 自己 的 date.

但问题是

Dim closing_date as string = "25/7/06"

If datetime.parse(closing_date) > now() Then
xxx
End If

我发觉必须要是 "7/25/06"才能成功转换!"25/7/06"
会出现error...

那么我该如何将 "25/7/06" 换去  "7/25/06"呢?除了用format这个function,还有其他的方法吗?
回复

使用道具 举报

发表于 8-7-2006 06:54 PM | 显示全部楼层
如果你的 csv file 可以把 date 分成 dd mm yyyy 3 個
那就可以省下許多功夫了
不妨在接受 csv file 之前把它改成更容易使用的格式
回复

使用道具 举报


ADVERTISEMENT

发表于 8-7-2006 06:59 PM | 显示全部楼层
原帖由 counterking 于 8-7-2006 06:00 PM 发表
我比较偏向于第一个方法,1. 在 mysql 里加多一个 string field, 把 date 输入进去那里, 然后 upload 完后, 再用 coding 把那 string update 自己 的 date.

但问题是

Dim closing_date as string = " ...


从你的资料库读出来的, 应该是 mmddyyyy, 所以问题不大.
回复

使用道具 举报

 楼主| 发表于 9-7-2006 11:33 AM | 显示全部楼层
不。。。 可悲的读出来是  dd mm yyyy

Dim closing_date as string = "25/7/06"

我知道必须是 mmddyyyy才能使用datetime.parse , 但如果是 ddmmyyyyy该如何呢?

有何办法可以 datetime.parse("closing_date") ??
回复

使用道具 举报

发表于 9-7-2006 01:45 PM | 显示全部楼层
dim dtCulture as string = "en-GB"
dim cult as cultureinfo = new CultureInfo(dtCulture)
dim dtDate as datetime = "7/25/06"
dim strDate as string = dtDate.ToString("d", cult)


以上的code可以把7/25/06改成25/07/06...

CultureInfo是system.globalization的class... 用以转换不同的culture... 由于mm/dd/yy是美国的culture的datetime... 所以我们把cult设定成"en-GB"的culture... 也就是英国的datetime culture(dd/mm/yy)...

d是DateTimeFormatInfo Class 的 Format Specifier... 也就是ShortDatePattern... 其他的datetime格式可以参阅这里

希望可以帮到你...

ps:记得import system.globalization namespace

[ 本帖最后由 小妞儿 于 9-7-2006 01:46 PM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 9-7-2006 04:44 PM | 显示全部楼层
谢谢。。 但是我是要将 "25/7/06" 转换去 "7/25/06"


你说由于"en-GB"是英国的datetime culture(dd/mm/yy)...
那么我是不是用美国的culture的datetime (mm/dd/yy) 就可以了


dim dtCulture as string = "WHAT IS 美国的culture的datetime"
dim cult as cultureinfo = new CultureInfo(dtCulture)
dim dtDate as datetime = "25/7/06"
dim strDate as string = dtDate.ToString("d", cult)

请注意我是需要执行

If Datetime.Parse(strDate) > Date Then
   xxx
End If
回复

使用道具 举报

发表于 10-7-2006 03:21 PM | 显示全部楼层
原帖由 counterking 于 9-7-2006 04:44 PM 发表
谢谢。。 但是我是要将 "25/7/06" 转换去 "7/25/06"


你说由于"en-GB"是英国的datetime culture(dd/mm/yy)...
那么我是不是用美国的culture的datetime (mm/dd/yy) 就可以了
...


美国是"en-US"
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 12-11-2024 03:34 AM , Processed in 0.123753 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表