如何使用 EWS 托管 API 获取电子邮件消息的 DateTimeRecieved 字段的毫秒部分

How to get the millisecond part of the DateTimeRecieved field of emailmessage using EWS managed APIs

我有一个与交换同步并获取给定 itemid 的电子邮件消息对象的代码:

List<EmailMessage> emails = new List<EmailMessage>();
            ServiceResponseCollection<GetItemResponse> response =
                            MyExchangeService.BindToItems(MyItemIds, PropertySet);
            foreach (GetItemResponse getItemResponse in response)
            {
                if (getItemResponse.Item != null)
                {
                    emails.Add((EmailMessage)getItemResponse.Item);
                }
            }

现在,我得到的 emailmessage 对象包含 DateTimeReceived 属性 作为 9/15/2017 5:27:16 AM 而我希望它包含的毫秒部分时间也是如此。可能吗?

.DateTimeReceived 是一个普通的 DateTime 字段,因此您可以使用 Ticks 和其他所有标准方法来分析该值。

在你的情况下,

message.DateTimeReceived.Millisecond

应该会给你想要的东西。

您需要在 ExchangeService 上设置精度 class 请参阅 https://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.exchangeservice.datetimeprecision(v=exchg.80).aspx 在调用之前设置为毫秒