sql >> Database >  >> NoSQL >> MongoDB

Correct invoegen DateTime van c# naar mongodb

Ik denk dat je in de war raakt door tijdzones. De Z aan het einde van de tekenreeks geeft aan dat het in UTC is. Toen je deze vraag postte, was het net na 15:30 UTC.

Ik vermoed sterk dat het juiste moment in de tijd wordt opgenomen - maar het wordt opgenomen als een moment in de tijd zonder verwijzing naar een bepaalde tijdzone. U kunt dan converteren dat naar welke tijdzone je later wilt, maar het opnemen van de UTC-tijd is bijna altijd de juiste benadering.

Even terzijde, je kunt dit duidelijker maken door UtcNow . te gebruiken om te beginnen met. Op die manier is het duidelijker dat u geen "lokale" tijd probeert te verkrijgen.

Kijkend naar de MongoDB-documentatie, lijkt het erop dat de interne representatie gewoon een aantal milliseconden is sinds het Unix-tijdperk - dus nogmaals, dat heeft geen indicatie van tijdzone of een afwijking tussen UTC en lokale tijd. Als u een waarde wilt opslaan die terug kan worden geconverteerd naar de lokale tijd die u zag toen deze werd opgenomen (zelfs als u nu in een andere tijdzone) moet u een tijdzone-ID en/of de UTC-offset als een aparte waarde opslaan. Dat is niet zo vaak nodig, maar het is een optie.



  1. Go en MongoDB-verbinding werken niet met panic log geen bereikbare server

  2. Een array (van 'tags') opslaan in MongoDB met Mongoose

  3. PDI Kettle draaien op Java - Mongodb Step Missing Plugins

  4. MongoDB updateOne()