vb.net将日期添加到日期

时间:2017-06-25 17:12:18

标签: vb.net datetime

Dim DespatchDate As DateTime
Dim ReceiptDate As DateTime 

DespatchDate = #3/7/2017 12:00:00 AM#  'I am in the UK so this is 3rd July 2017

ReceiptDate = DespatchDate.AddDays(60)   'Returns #5/6/2017 12:00:00 AM#

我希望2017年9月1日“2017年1月9日”

我也试过

ReceiptDate = DateAdd("d", 10, DespatchDate)  which returned #3/17/2017 12:00:00 AM#

我必须做错事但是什么?

1 个答案:

答案 0 :(得分:3)

VB中的日期文字使用美国格式,无论您身在何处。你的代码:

DespatchDate = #3/7/2017 12:00:00 AM#  'I am in the UK so this is 3rd July 2017

正在创建2017年3月7日的日期。阅读有关日期文字的更多信息或使用日期类上的构造函数,使您更清楚自己在做什么。

<强>更新 为了确定日期是什么并避免歧义,您可以这样定义:

DespatchDate = New Date(2017, 7, 3)   ' Without the time of day, 12AM is implied
DespatchDate = New Date(2017, 7, 3, 12, 34, 56) ' July 3 2017 12:34:56 PM

这样做的好处是你可以在输入代码时从intellisense中看到每个数字的含义。如果其他人编写了代码,您可以调用intellisense来查看每个参数的含义。从我在截图中突出显示的内容可以看出,时间是24小时格式。

Screenshot of what you will see from intellisense