sharepoint中的时间问题

sharepoint中的时间问题

2008-12-24 15:09 by Virus-BeautyCode, 451 阅读, 2 评论, 收藏编辑

在页面的时间栏中填写的时间如果是
2008-8-8 0:00
然后保存页面,用程序访问刚才的列表项,然后显示刚才的时间,却显示为2008-8-8 8:00.
刚开始我也很是奇怪呢,后来才发现,估计是时区在作怪,sharepoint内部存储时间都是用那个什么格陵时间吧,可能是为了统一。然后在页面显示的时候才显示为本地时间。

用下面的函数可以转化本地时间为标准时间
DateTime.Now.ToUniversalTime().ToString()

还有就是容易搞混的
8月24号的24:00就是8月25号的0:00
这个问题把我弄混好多次了,几乎每次都中招。

下面的代码是处理过期的新闻测试代码,在sharepoint中的过期新闻,被我从“页面(Pages)”列表库移动到了“过期新闻(DocLib)”列表库

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;

namespace ConsoleApplication1
{
    class Program
    {

static void Main(string[] args)
        {
            SPSecurity.RunWithElevatedPrivileges(
                                               delegate()
                                               {
                                                   using (SPSite site = new SPSite(@"http://virus/sites/intranet"))
                                                   {
                                                       using (SPWeb web = site.AllWebs["team"])
                                                       {
                                                           web.AllowUnsafeUpdates = true;

SPList list = web.Lists["页面"];
                                                           foreach (SPListItem item in list.Items)
                                                           {
                                                               Console.WriteLine("名称:" + item.GetFormattedValue("名称") + "结束日期:" + item.GetFormattedValue("结束日期"));
                                                               Console.WriteLine(DateTime.Now.ToUniversalTime().ToString());
                                                           }

// SPList list = web.Lists["页面"];
                                                           SPListItemCollection items = null;
                                                           SPQuery query = new SPQuery();
                                                             query.Query = @"<Where>
                                                              <Leq>
                                                                 <FieldRef Name=‘" + list.Fields["结束日期"].InternalName + @"‘ />
                                                                 <Value Type=‘DateTime‘>" + DateTime.Now.ToString() + @"Z</Value>
                                                              </Leq>
                                                           </Where>";
                                                           items = list.GetItems(query);
                                                           foreach (SPListItem item in items)
                                                           {
                                                               item.CopyTo(web.Url + "/DocLib/" + item.Name);
                                                               //item.Delete();
                                                           }

//#region 从Pages(中文名字:页面)列表库拷贝/移动文件到DocLib(中文名字:过期新闻)列表库
                                                           //SPList list = web.Lists["页面"];
                                                           //foreach (SPListItem item in list.Items)
                                                           //{
                                                           //    //列表项从一个列表库拷贝到另外一个列表库,列表项不支持移动(MoveTto)
                                                           //    item.CopyTo(web.Url + "/DocLib/" + item.Name);
                                                           //}
                                                           //#endregion

//#region 从Pages(中文名字:页面)文档库拷贝/移动文件到DocLib(中文名字:过期新闻)文档库
                                                    //       SPFolder oFolder = web.GetFolder("Pages");
                                                    //       SPFileCollection collFiles = oFolder.Files;

//       for (int intIndex = collFiles.Count - 1; intIndex > -1; intIndex--)
                                                    //       {
                                                    //           //文档从一个文档库拷贝到另一个文档库
                                                    //               collFiles[intIndex].CopyTo(web.Url+"/DocLib/" + collFiles[intIndex].Name);
                                                    //               //文档从一个文档库移动到另一个文档库
                                                    //           collFiles[intIndex].MoveTo(web.Url+"/DocLib/" + collFiles[intIndex].Name);

//       }

//#endregion
                                                           web.AllowUnsafeUpdates = false;
                                                       }
                                                   }
                                               });

Console.ReadLine();
        }
    }
}

时间: 2024-10-27 19:40:02

sharepoint中的时间问题的相关文章

SharePoint中开发自定义Timer Job

 SharePoint中开发自定义Timer Job 1. Timer Job简介 在SharePoint中有一个服务SharePoint timer service(owstimer.exe),这个服务用来进行异步处理一些SharePoint的数据,创建web application等等,为了缓解站点w3wp.exe的压力,而且Timer 服务可以说是占据了SharePoint的半边天,没有他那么SharePoint将不能正常工作 2. Timer Job 作用 很多时候我们需要定期自动去处理

【原创】SharePoint中如何判断任务是否已经延期

任务列表可以用来跟踪记录工作任务,同时可以在状态报表中汇总延期任务的情况,来标示任务的整体完成情况,比如存在计划完成时间小于今天的,说明该任务有问题,可以标个红. 实现方法: 在SharePoint中给任务列表添加一个是否延期的可计算栏,类型为布尔型,设置公式为 =[计划完成日期]<Today() 给任务列表创建一个试图,只筛选是否延期为是的项目 然后在状态列表中新建一个状态项,汇总已延期试图的项目数,如大于0则标红 关于公示更多可参考 微软官方 注意今天的日期可以使用Today()函数来获取.

SharePoint 中关于event receivers的讨论

今天一早,跟几个小伙伴在群里讨论了有关事件触发器的东西,感觉收获颇多,拿出来和大家分享.讨论的内容,主要就是关于事件触发器的同步/异步的设置以及作用. 其实接触SharePoint颇久,对于事件触发器写的不多,但是同步/异步这个概念还是了解的,不过没有深究罢了.今天,和大家讨论了一下,也更加深刻的理解了这个概念:当然,有人说异步是单开一个线程操作,这个我不了解,但是不反对,因为无论如何,不是执行完毕操作立即执行事件,这就是异步了,我们不讨论内部机制是如何开辟线程,或者组织异步队列的. Share

在sharepoint中利用文档库扩展新闻应用

在sharepoint中利用文档库扩展新闻应用 本人刚刚开始使用Sharepoint,理解尚浅,错误之处请各位指正.Sharepoint的发布类模板可以建立对外的新闻类应用,但是目前在使用上还有诸多限制,不是很方便.在前一段时间给用户实施时引起了用户的很大不满.为此,特意在文档库的基础上建立了一套新闻管理系统,这套新闻系统主要有新闻发布与编辑,新闻列表.新闻浏览.分类管理等组成,主要用web part方式实现,各种参数按需传入,可以按照需要,灵活配置,下面先从与文档库结合紧密的分类管理说起:1.

将sharepoint中的跨网站、列表查询的结果用SPGridView分页显示

将sharepoint中的跨网站.列表查询的结果用SPGridView分页显示 2008-12-30 10:14 by Virus-BeautyCode, 1200 阅读, 0 评论, 收藏, 编辑 我是用户控件(也就是ascx控件)写的查询界面和显示结果,然后用QuickPart包装了一下,这样做的好处就是复杂界面可以使用拖动控件来开发,要比写代码来的直观,不足之处就是调试困难,但是昨天我的同事发现了一个调试的好办法,很不错,下一篇我会写出来. 需求是开发一个公司动态发布系统,我将未发布动态,

js中获取时间new date()的用法

js中获取时间new date()的用法 获取时间:   var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获取当前年份(2位) 2 myDate.getFullYear(); //获取完整的年份(4位,1970-????) 3 myDate.getMonth(); //获取当前月份(0-11,0代表1月) 4 myDate.getDate(); //获取当前日(1-31) 5 myDate.getDay();

录像过程中系统时间改变了,怎么避免带来的悲剧

在android系统上,我们知道改变系统时间的方法有两种,一种就是通过再设置应用里面设置日期时间,第二种就是通过网络后台同步时间,在手机平板上这两种是比較多的,当然作为车载设备.一般还会添加用GPS时间来同步系统时间. 系统时间改变有这么几种方式.可是在录像过程中系统时间改变了,会有什么危害呢? 通过笔者的实验.假设開始录像是2014年5月20日10点整開始,过了一分钟.添加通过网络已经同步改动了系统时间到2014年7月1日,那么即使这个录像文件实际上仅仅录了5分钟.我们回放这个文件的时候显示的

C中的时间函数的用法

C中的时间函数的用法    这个类展示了C语言中的时间函数的常用的用法. 源代码: #include <ctime>#include <iostream> using namespace std; class MyTime{public:    MyTime() { mPTime = 0; mStLocalTime = 0; mStGMTTime = 0; }    ~MyTime() {}; //time_t time(time_t * timer) 返回自1970年1月1日00

javaScript系列:js中获取时间new Date()详细介绍

var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份(4位,1970-????)myDate.getMonth(); //获取当前月份(0-11,0代表1月)myDate.getDate(); //获取当前日(1-31)myDate.getDay(); //获取当前星期X(0-6,0代表星期天) 何问起 hovertree.commyDate.getTime(); //获取当前时